例如,我有:
Lorem Ipsum
Dolor Sir Amet
作为$s
的内容。现在,如果我打印htmlspecialchars(nl2br($s))
的结果是:
Lorem Ipsum<br />
<br />
Dolor Sir Amet
虽然我想要的结果是:
Lorem Ipsum<br /><br /> Dolor Sir Amet
为什么nl2br
没有删除回车,即使它已经插入了<br />
?或者如何正确使用nl2br
来正确删除回车?因为这打破了我的SQL。我在Windows 7上运行Apache。感谢。
答案 0 :(得分:4)
要将所有换行符替换为<br />
,您应该使用扩展函数,
这是一个例子:
<?php
function nl2br2($string) {
$string = str_replace(array("\r\n", "\r", "\n"), "<br />", $string);
return $string;
}
每个操作系统都有不同的ASCII字符用于换行:
windows = \ r \ n
unix = \ n
mac = \ r