2

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

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

条形数组读取:

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

我可以在这里更改什么以保留换行符?

提前感谢您的帮助。

4

3 回答 3

1

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

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

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

于 2009-07-02T14:19:43.380 回答
1

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

echo nl2br($text);

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

于 2009-07-02T14:14:22.390 回答
1

什么都没有剥离换行符。

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

于 2009-07-02T14:15:40.390 回答