2009-07-02 79 views
2

我使用的php表单处理器脚本,工作正常。除非用户在多行文本字段中提交文本,否则将从传递的结果字符串变量中除去任何换行符或新行。这通常会使接受表单结果的人无法读取。PHP表格删除换行符

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

条形阵列上写着:

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

我可以改变这里保留换行符?

在此先感谢您的帮助。

+0

它看起来不像换行符('\ n')正在被规定。 – 2009-07-02 14:16:46

回答

1

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

在一次会议中,我在文本区域查找了wrap =“(hard | physical)”属性。该属性的某些值强制textarea在用户文本中保持换行符。

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

+0

这是第一次。非常感谢。看起来其他人也提出类似的建议。 – TheTub 2009-07-02 14:40:49

1

我相信你在渲染阶段有问题。您是否尝试过:

echo nl2br($text); 

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

1

什么都没有剥离换行符。

这很可能是因为您没有在显示面上做任何事情来显示换行符。您正在输出HTML,而对于HTML,换行符只是更多的空格。您可能会从申请nl2br()获益。