【问题标题】:PHP/Mysql - Add form data HTML elements with line breaksPHP/Mysql - 添加带有换行符的表单数据 HTML 元素
【发布时间】:2013-02-08 15:35:57
【问题描述】:

基本上,我有一个管理区域,用户可以在其中使用表单文本区域向 MySQL 数据库添加信息。用户很少或根本没有 HTML 知识,所以我希望他们能够使用他们的返回键来创建换行符,而不是 <br /> 标签,但是我也希望将来也允许使用 HTML。我也不希望 <br /> 标记在插入后出现在 textarea 中,而是希望换行以免混淆人们 - 基本上在 textarea 中完全按照输入的方式显示它。

虽然我在解析数据时遇到了困难,但我想出了一个解决方案来防止换行符被剥离,但我真的很想知道这是否有效 - 它有效,但如果我已经最近学到了什么我知道这并不意味着它是对的!

$extra_details_escape = mysql_real_escape_string($_POST['extra_details']);
$extra_details_escape = str_replace('\r\n','LiNeBrEaK',$extra_details_escape);
$extra_details_escape = stripslashes($extra_details_escape);
$extra_details_escape = str_replace('LiNeBrEaK','\r\n',$extra_details_escape);
mysql_query("UPDATE table SET column = '$extra_details_escape' WHERE id = '$id'");

非常感谢,

【问题讨论】:

  • 标准文本区域不会为换行创建<br> 标签,所以您使用的是所见即所得的编辑器吗?
  • 嗨劳伦斯。它本身不添加
    标签,我只是提到我不希望它们在那里排除 nl2br 作为一个选项,因为我想将它们维护为 \r\n

标签: php mysql textarea str-replace stripslashes


【解决方案1】:

你试过 nl2br() 吗?

试试这个,发布字符串清理:

$extra_details_escape = nl2br($_POST['extra_details']);

【讨论】:

  • 嗨,Darius,我不希望在这方面涉及任何 <br /> 标签,因为我在其他地方检索数据时执行 nl2br。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-11
  • 2020-02-23
  • 2020-08-27
  • 1970-01-01
  • 1970-01-01
  • 2022-01-04
  • 2013-04-14
相关资源
最近更新 更多