【发布时间】: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