出于某种原因:preg_replace("/\\n/", "<br />", $string);
无效。
即使在preg替换之后,字符串也会以这种格式输出:blah blah blah\nblah blah blah
。
我想做的就是改变<br />
。
nl2br()
也不起作用,但正如其正文一样,我不确定是否应该这样做。
由于
**更新**
preg_replace
适用于字符串中的单词。 :(
答案 0 :(得分:8)
如果您要替换文字\n
而不是实际新行,请尝试:
<?php
echo preg_replace("/\\\\n/", "<br />", 'Hello\nWorld');
注意反斜杠的数量。双引号括起的字符串/\\\\n/
由PHP引擎解释为/\\n/
。传递给preg引擎时,此字符串被解释为文字\n
。
请注意,两个PHP都会将"\n"
解释为ASCII字符0x0A
。同样,preg引擎会将'/\n/'
解释为换行符(不完全确定哪一个)。
答案 1 :(得分:7)
试试这个
str_replace("\n", "<br />", $string);
答案 2 :(得分:4)
您是否尝试在RegEx上使用多行修饰符?
preg_replace("/\\n/m", "<br />", $string);