如何避免 标签在 textarea 中显示?

标签在 textarea 中显示? "> 标签在 textarea 中显示? " />

本文旨在解决在 textarea 中显示包含 html 换行符(`
`)的文本时,如何去除这些标签并保持原有格式的问题。通过对文本进行分割、修剪和重新组合,可以有效地在 textarea 中呈现格式化的内容,而无需显示 html 标签。

在 Web 开发中,我们经常需要在数据库中存储格式化的文本数据。为了在网页上正确显示这些数据,我们可能会使用 HTML 标签,例如
来表示换行。然而,当我们将这些包含 HTML 标签的文本直接显示在

问题描述

假设我们从数据库中读取一段包含
标签的文本,并希望将其显示在

解决方案

解决此问题的关键在于在将文本显示到

  1. 分割字符串: 使用
    标签作为分隔符,将原始字符串分割成一个数组。
  2. 修剪字符串: 遍历数组,去除每个元素开头和结尾的空格,确保文本的整洁。
  3. 重新组合字符串: 使用 \n 作为连接符,将数组中的元素重新组合成一个字符串。

示例代码


                        Hem: $50.00 
Press: $65.00
Item Total: $115.00

"; // 1. 分割字符串 $receipt_array = explode("
", $receipt); // 2. 修剪字符串 foreach ($receipt_array as $key => $value) { $receipt_array[$key] = trim($value); } // 3. 重新组合字符串 $receipt = implode("\n", $receipt_array); ?>

代码解释

  • explode("
    ", $receipt):使用
    作为分隔符,将 $receipt 字符串分割成一个数组。
  • trim($value):去除每个数组元素开头和结尾的空格。
  • implode("\n", $receipt_array):使用 \n 作为连接符,将数组中的元素重新组合成一个字符串。
  • htmlspecialchars($receipt):使用htmlspecialchars函数对输出的字符串进行编码,防止XSS攻击。

注意事项

  • HTML 编码: 为了安全起见,建议使用 htmlspecialchars() 函数对输出到
  • 其他换行符: 如果你的文本中包含其他类型的换行符(例如 \r\n),你可能需要先将其替换为统一的换行符(例如 \n),然后再进行上述处理。
  • JavaScript 实现: 你也可以使用 JavaScript 来实现类似的功能,在客户端处理文本。
  • 数据源: 确保你的数据源(例如数据库)中的换行符一致。 不一致的换行符可能导致显示问题。

总结

通过将 HTML 换行符
替换为文本换行符 \n,我们可以有效地解决