来自textarea的数据,包含换行符到数据库

时间:2015-12-31 15:18:10

标签: javascript php html mysql angularjs

我有一个奇怪的问题。 我有一个简单的文本区域,单击一个保存按钮后,我使用角度控制器保存该数据。然后,一旦单击更新按钮,我就更新该数据库中的一行,其中一行行字段是来自该textarea的数据。

到目前为止一切都那么好,并且更新完成正常,当我在textarea中断行时问题就开始了,例如,我输入: "大家好,  这是另一行"

我检查了那些数据,当我将它保存在控制器中时,当我从服务器上取回它时,它看起来像这样: "大家好,↵这是另一排" 似乎没问题,但当我把它放在div中时,我得到以下结果: "大家好,这是另一行"

换线在哪里?为什么不显示?

我尝试了很多东西,比如一旦发送到数据库就将换行符更改为<br>,稍后将其切换回换行符,似乎没有任何工作......

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:4)

好的 - 您需要做的是使用white-space:pre-wrap;显示数据库中的数据。

示例:

<?php
echo '<p style="white-space:pre-wrap;">'.$yourVarWithWhiteSpace.'</p>';
?>

答案 1 :(得分:0)

您可以以编程方式更改在进出的路径上以<br />标记结尾的\ n行。通过使用预处理语句,您需要使用像real_escape_string这样的东西。

那就是说,从长远来看,使用@itamar的方法可能会更好。

答案 2 :(得分:0)

只需使用此

即可
<?php
echo '<p>'. nl2br($yourVarWithWhiteSpace).'</p>';
?>