我试试这个:
echo nl2br($row['content']);
但我得到的是:
大家好\n祝你好运!
为什么它不转换\n
?数据库将数据存储为 UTF-8。
另外,我用测试字符串检查它,发现如果字符串带有双引号,它也不起作用。我的意思是:
echo nl2br("Hello everybody\n Good luck");
我试试这个:
echo nl2br($row['content']);
但我得到的是:
大家好\n祝你好运!
为什么它不转换\n
?数据库将数据存储为 UTF-8。
另外,我用测试字符串检查它,发现如果字符串带有双引号,它也不起作用。我的意思是:
echo nl2br("Hello everybody\n Good luck");
它应该可以,但是如果您愿意,可以尝试str_replace("\n","<br />")
代替 nl2br。
问题是文本在您的数据库中存储有一个额外的斜线。对之前的文本使用stripslashes
(此处为PHP 文档)函数nl2br
(此处为 PHP 文档)
$myText = "Hello\\nWorld"; //text from a database (with line breaks escaped)
stripslashes(nl2br($myText));
print $myText;
// Result: Hello<br>World