带有换行符的文本区域中的数据到数据库
Posted
技术标签:
【中文标题】带有换行符的文本区域中的数据到数据库【英文标题】:Data from textarea with line breaks to database 【发布时间】:2016-04-05 12:53:14 【问题描述】:我有一个简单的文本区域。单击保存按钮后,我使用角度控制器保存该数据。然后,一旦单击更新按钮,我就会更新该数据库中的一行,其中一个行字段是来自该 textarea 的数据。
到目前为止一切顺利,更新完成,当我在文本区域中换行时问题就开始了,例如,我输入:
“嗨,↵这是另一行”
我检查了该数据,当我将其保存在控制器中时,当我从服务器取回它时,它看起来像这样:“嗨,↵这是另一行”。
看起来不错,但是当我将它放在 div 中时,我得到以下信息:
“嗨,这是另一行”
换行符去哪儿了?为什么不显示?
我尝试了很多事情,比如将换行符更改为<br>
,一旦发送到数据库,然后将其切换回换行符,似乎没有任何效果。
【问题讨论】:
html 的呈现方式默认情况下所有空格都替换为一个空格,除了 pre 标签和 textarea 内部。 【参考方案1】:好的 - 您需要做的是使用 white-space:pre-wrap;
来显示数据库中的数据。
例子:
<?php
echo '<p style="white-space:pre-wrap;">'.$yourVarWithWhiteSpace.'</p>';
?>
【讨论】:
【参考方案2】:只需使用这个
<?php
echo '<p>'. nl2br($yourVarWithWhiteSpace).'</p>';
?>
【讨论】:
【参考方案3】:您可以在进出时以编程方式更改以<br />
标记结尾的\n 行。通过使用准备好的语句,可以为您处理使用诸如 real_escape_string 之类的需求。
也就是说,从长远来看,使用@itamar 的方法可能会更好。
【讨论】:
以上是关于带有换行符的文本区域中的数据到数据库的主要内容,如果未能解决你的问题,请参考以下文章