DB中的新行不会显示在textarea中

时间:2012-10-24 15:26:44

标签: php mysql

这里有不同网站上相同脚本的奇怪行为。你走了:

我有一个textarea用户输入文字。他们还使用enter进行换行。它存储在mysql数据库中,如下所示:

第一行\ r \ n两行\ r \ n \ r \ n \ n三行

再次在textarea中显示该文本时出现问题。 在大多数情况下一切正常。 textarea中显示以下内容:

Line One
Line Two

Line Three

在某些网站上,但textarea中只显示以下内容:

Line One
Line Two    
Line Three

在db中,两个换行符(\ r \ n \ r \ n)仍然存在。但是只显示一个。

就像我在某些网站上所说的那样,在大多数情况下,像\ r \ n \ r \ n这样的多个换行显示正常。

更新 像JSON这样的接缝与它有关。它是一个JSON字符串,包含一个字符串,如“Line One \ r \ nLine Two \ r \ n \ r \ nNine Three”。

{"mystring":"Line One\r\nLine Two\r\n\r\nLine Three"}

$row = $db->load(); // get the json string
var_dump($row); // \r\n\r\n still inside!
$jrow = json_decode($row);
var_dump($jrow->mystring); // on some servers multiple newlines are chopped to one

1 个答案:

答案 0 :(得分:-1)

在textarea中显示数据库值时,请尝试使用n2lbr。这些帮助有用?它过去对我有用。