如何用换行符回应textarea的输入?

Mui*_*ter 20 html php

我正在使用textarea将文本发送到我的数据库.

db的屏幕截图:

在此输入图像描述

当我从数据库中读取它时会删除换行符,如何将它们保存在$ row ['opmerkingen']中?

在此输入图像描述

bin*_*yLV 66

显示文本时,用于nl2br()将换行符转换为<br/>标记,即代替<?php echo $row['text']; ?>使用<?php echo nl2br($row['text']); ?>.

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


对于那些觉得有用的人 - 请考虑使用white-space: pre-line,由EmilVikström建议.我不再是一个网络人了,很容易无法验证这一点,但Boaz在评论中说它得到了所有现代浏览器的支持.如果是这样,那应该优先使用nl2br().


Emi*_*röm 21

nl2br的替代方法是使用CSS属性white-space:

white-space: pre-line;
Run Code Online (Sandbox Code Playgroud)

  • +1恕我直言`nl2br()`*是替代品.样式和格式化应仅由CSS处理,现在[所有现代浏览器都支持`white-space`属性的'pre-line`值](https://developer.mozilla.org/en-US/docs/网络/ CSS /空白). (2认同)

Sum*_*han 5

我提出如下,但不能使用单引号

echo $row['text'].'\n';
Run Code Online (Sandbox Code Playgroud)

双引号引起来。然后工作。

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

当我们获取数据时,它就是\ r \ n。也可以在其中使用双引号