htmlentities()会删除返回字符和回车吗?

时间:2015-05-23 17:54:59

标签: php mysql pdo textarea

我正在PDO课程的帮助下创建一个PHP和MySQL论坛。我刚开始编写论坛代码并提出问题。

我正在做的是

$post_body = htmlentities($_POST['post_body']);

获取这样的用户输入,然后将其发送到我的函数,然后将其查询到数据库中,如此

$str = $this->database->prepare('INSERT INTO `blah`,`blah_blah` VALUES(?,?)');
$str->bindValue(1,$someVal);
$str->bindvalue(2,$post_body);

$str->execute();

当我显示这些细节时,我会做这样的事情

html_entity_decode($postDetails['post_body']); //$postDetails has been initialized correctly

是的,我添加了试用捕获并处理了异常;但由于这是一个论坛帖子,当用户按下返回键时,他/她希望在发布的文章中有一个新行。但是当我显示这些帖子时,我正在丢失帖子中的每个回复/新行。为什么以及如何解决这个问题。

关于这种情况的解释将非常感谢!

提前致谢。

1 个答案:

答案 0 :(得分:4)

\n不是html实体。它不会被该函数解码。

使用nl2br完成此操作:

echo nl2br(html_entity_decode($postDetails['post_body']))