【问题标题】:PHP form removing line breaksPHP表单删除换行符
【发布时间】:2009-07-02 14:11:58
【问题描述】:

我使用一个运行良好的 php 表单处理器脚本。除非用户在多行文本字段中提交文本,否则任何换行符或新行都会从传递的结果字符串变量中删除。这通常会使接收表单结果的人无法阅读。

我不是 php 专家,但我确信答案在于剥离字符的代码。我不确定的是,如果我停止它剥离字符会导致安全风险吗?

条形数组读取:

array('*', '|', '>', '<', '/', '\\\', '\"', 'Bcc', 'BCC', 'bcc');

我可以在此处更改什么以保留换行符?

提前感谢您的帮助。

【问题讨论】:

  • 它看起来不像换行符('\n')被删除了。

标签: php forms newline line break


【解决方案1】:

如果您的问题与提交的字符串有关,那么这意味着提交的字符串不包含任何换行符或换行符。

有一次我在文本区域查找了 wrap="(hard|physical)" 属性。此属性的某些值会强制 textarea 在用户文本中保留换行符。

您是否尝试在提交的文本上使用 nl2br($text);

【讨论】:

  • 这是第一次。非常感谢。看起来其他人也提出了类似的建议。
【解决方案2】:

我相信您在渲染阶段遇到了问题。你试过了吗:

echo nl2br($text);

其中 $text 是您正在谈论的文本。

【讨论】:

    【解决方案3】:

    没有剥离换行符。

    您更有可能没有在显示端执行任何操作来显示换行符。您正在输出 HTML,而对于 HTML,换行符只是更多的空白。您可能会从申请nl2br() 中受益。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多