【问题标题】:Saving \n as <br> to database from textarea [duplicate]将 \n 作为 <br> 从 textarea 保存到数据库 [重复]
【发布时间】:2016-01-21 06:10:47
【问题描述】:

我试过了,但它没有将新行改为

&lt;textarea name="addesc" id="addesc"&gt;&lt;?php echo $data['addesc']; ?&gt;&lt;/textarea&gt;

$data['addesc'] = preg_replace("/\r\n|\r/", "<br />", $_POST["addesc"]); $data['addesc'] = trim($data['addesc'])

因此 post.php 页面上没有$_POST["addesc"]。有$_POST["do"]。我也试过了。没有结果。

【问题讨论】:

  • 请不要将解决方案编辑到您的问题中。相反,mark one question as accepted 或者如果现有答案都没有解决问题,请发布您自己的接受它。

标签: php mysql database textarea


【解决方案1】:

有一个名为nl2br 的php 函数。

顺便说一句。搜索“new line to br”会很容易,并且会提出关于 SO 和nl2br 的 php 手册的某些相关主题:

How to replace \r & \n with <br/>?

【讨论】:

  • 也许我遗漏了一些东西,但该功能对我没有帮助。我需要将新行保存为
    从 textarea 到 DB。真的可以归结为只使用一个函数吗?
  • 确实如此,是的:检查这个例子:viper-7.com/kpumMr
  • 谢谢。我能问你在我的情况下 TEXTAREA_INPUT 到底是什么吗?是&lt;?php echo $data['addesc']; ?&gt;,如果是的话,我该如何将它与该页面上的代码一起使用?
  • 知道了。做到了:$data['addesc'] = htmlentities(nl2br($data['addesc']));
  • 删除“htmlentities”调用!这只是为了在浏览器中显示“
    ”时可视化它们。
猜你喜欢
  • 2013-12-24
  • 1970-01-01
  • 1970-01-01
  • 2014-04-08
  • 2013-12-15
  • 2011-07-01
  • 2016-07-08
  • 2018-04-14
  • 1970-01-01
相关资源
最近更新 更多