textarea 上的 nl2br 和 htmlentities

Posted

技术标签:

【中文标题】textarea 上的 nl2br 和 htmlentities【英文标题】:nl2br and htmlentities on textarea 【发布时间】:2017-02-13 17:51:53 【问题描述】:

所以我有这个文本区域,我希望人们能够写关于他们自己的东西,能够在特定单词周围使用引号,同时能够制作新的文本部分而不必写 <br> .我试过这样做,但我失败了。我做错了什么?

<textarea id="about"></textarea>

$about = nl2br($_POST["about"]);

$text = htmlentities($about, ENT_QUOTES);

$query = "INSERT INTO text VALUES('', '$text'";
$query_run = $db->query($query);

我将它插入到我的数据库中,但是当我尝试回显它时,没有出现中断。

$id = $_POST["id"];
$sql = "SELECT * FROM text WHERE id = '$id'";
$sql_run = $db->query($sql);
while($row = mysqli_fetch_assoc())
   $about = $row["about"];
   echo $about;

插入时的外观示例。

cola&lt;br /&gt;&lt;br /&gt;cola&lt;br /&gt;&lt;br /&gt;&quot;cola&quot;&lt;br /&gt;&lt;br /&gt;love that stuff!

【问题讨论】:

你能把更多的存储代码放在数据库中并呼应出来吗? 您将什么以及如何将其存储在数据库中以及如何再次获取和显示它?这只是一些随机的 sn-ps。 您是否尝试过另一种方式?当你从数据库中选择它时 更新了更多代码。 【参考方案1】:

$_POST["about"] 将与 \n 一起使用,因此您无需将 nl2br() 与它一起使用。

在页面上显示值时使用它。 (例如echo nl2br($about)

【讨论】:

如果我不使用 nl2br(),数据库只会在我的末尾得到纯文本,然后使用 nl2br 不会改变任何东西:(! 这很奇怪,它应该适用于普通文本框。

以上是关于textarea 上的 nl2br 和 htmlentities的主要内容,如果未能解决你的问题,请参考以下文章

如何在html textarea POST数据中保留换行符

thinkcmf常用标签

文本区域中的换行符

Textarea 上的复制、粘贴和剪切操作

php 冷门函数 - nl2br() 函数

PHP 在使用 nl2br 时忽略空白字符的新行