2011-06-14 102 views
15

我正在使用textarea将文本发送到我的数据库。如何使用换行符回显textarea的输入?

截图分贝:

enter image description here

当我从它删除换行符的DB读书,我怎么可以让他们在$行[ 'opmerkingen']?

enter image description here

+0

[如何从字符串中删除换行符(无字符!)可能的重复?](http://stackoverflow.com/questions/10757671/how-to-remove-line-breaks-no-characters-from字符串) – kenorb 2015-03-03 00:30:30

回答

51

在显示文本,使用nl2br()来换行转换为<br/>标签,即代替<?php echo $row['text']; ?>,使用<?php echo nl2br($row['text']); ?>

默认情况下,浏览器将换行符显示为空格,因此必须将其转换为<br/>标签。


对于那些谁发现这很有用 - 请考虑使用white-space: pre-line,由埃米尔Vikström建议。我不再是一个网络家伙,并且很容易无法验证这一点,但Boaz在评论中表示,它受到所有现代浏览器的支持。如果是这样,那么应该优先使用nl2br()

17

的替代nl2br是利用CSS属性white-space的:

white-space: pre-line; 
+2

+1恕我直言'nl2br()'*是*替代品。样式和格式只能由CSS处理,因为[所有现代浏览器都支持'white-space'属性的'pre-line'值](https://developer.mozilla.org/en-US/docs/网络/ CSS /空白)。 – Boaz 2014-02-24 12:12:59

3

我就把但不是单引号工作如下。

echo $row['text'].'\n'; 

双引号。然后工作。

<textarea rows="10" cols="62" style="white-space: pre-line;" wrap="hard"> 
echo $row['text']."\n"; 
</textarea> 

当我们得到的数据是与\ r \ n正在添加。那里还使用双引号

相关问题