如何用换行符回显文本区域的输入?
Posted
技术标签:
【中文标题】如何用换行符回显文本区域的输入?【英文标题】:How to echo an input of an textarea with line breaks? 【发布时间】:2011-09-14 17:46:59 【问题描述】:我正在使用 textarea 向我的数据库发送文本。
数据库截图:
当我从数据库中读取时,它会删除换行符,我怎样才能将它们保留在 $row['opmerkingen'] 中?
【问题讨论】:
How to remove line breaks (no characters!) from the string?的可能重复 【参考方案1】:显示文本时,使用nl2br()
将换行符转换为<br/>
标记,即使用<?php echo nl2br($row['text']); ?>
代替<?php echo $row['text']; ?>
。
默认情况下,浏览器将换行符显示为空格,因此必须将它们转换为<br/>
标签。
对于那些觉得这很有用的人 - 请考虑使用 Emil Vikström 建议的 white-space: pre-line
。我不再是网络人,很容易无法验证这一点,但 Boaz 在 cmets 中表示,所有现代浏览器都支持它。如果是这样,那应该优先于使用nl2br()
。
【讨论】:
正是我想要的【参考方案2】:nl2br 的替代方法是使用 CSS 属性 white-space:
white-space: pre-line;
【讨论】:
+1 恕我直言nl2br()
是替代方案。样式和格式只能由 CSS 处理,现在 all modern browsers support the pre-line
value of the white-space
property.【参考方案3】:
我输入如下,但不能使用单引号。
echo $row['text'].'\n';
加上双引号。然后工作。
<textarea rows="10" cols="62" style="white-space: pre-line;" wrap="hard">
<?php echo $row['text']."\n"; ?>
</textarea>
当我们获取数据时,它带有 \r\n。也可以在此处使用双引号。
【讨论】:
以上是关于如何用换行符回显文本区域的输入?的主要内容,如果未能解决你的问题,请参考以下文章