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