如您所知,javascript无法处理中间字符串的换行。换句话说,以下输出将导致js错误...
<body onload=\"alert(\'te
st\');\">
您可以在虚线的末尾添加反斜杠来修复此错误...
<body onload=\"alert(\'te \\
st\');\">
正如user765476所说,您可以在文本上使用PHP的
nl2br
函数。但是要补充一点,通常最好仅在实际构建html输出时才这样做。原因之一是,如果您允许用户编辑他们已经提交的文本,他们将在文本框中随处看到
<br>
,并且您必须设计另一个脚本来替换那些
<br>
。
如果您确实想完全禁止用户提交换行符(以及任何可能的回车符),请使用以下基本PHP代码将其替换为一个空格...
str_replace(array(\"\\r\\n\",\"\\r\",\"\\n\"),\' \',$message);
注意:搜索字符串的顺序很重要。第一遍将替换所有的ѭ7,第二遍将替换所有剩余的ѭ8,第三遍将替换所有剩余的I9(编辑:我忘记了ѭ8可以在IE javascript中识别,只是在某些其他浏览器中无法识别)。
, 也许这个功能
在寻找什么?它将换行符转换为
<br/>
标签。