如何从mysql获取用户输入格式化文本

时间:2013-09-14 09:23:16

标签: php mysql

我使用textarea将用户描述上传到phpmyadmin的数据库中。用户可以使用任何字符和空格,换行符和其他特殊字符。当我从数据库中检索信息时,它在一个段落中显示没有格式化文本。我希望文本看起来与插入的用户一样,就像它出现在论坛中一样。以下是我使用的代码......

输入html

<textarea class="noticearea" name="notice_area" id="notice_area" required="required"><?php echo htmlspecialchars($_POST["notice_area"]); ?></textarea>

php read

$notice_area = mysql_real_escape_string($_POST["notice_area"]);

SQL插入

$noticeinsert = mysql_query("INSERT INTO notice (notice_area) VALUES ('$notice_area')");

回溯信息

<?php echo htmlspecialchars($notice_area); ?>

一切都很好没有错误或警告。我可以很容易地回复,但不是以格式。如果我需要添加任何代码,请建议我。

1 个答案:

答案 0 :(得分:-1)

您可能需要以下代码才能显示。

// $notice_area assumes you have database query and the reuslt is correctly fetched.

echo str_replace("\\r\\n","<br/>", (htmlspecialchars(($notice_area))));

为什么?

http://php.net/manual/en/function.mysql-real-escape-string.php

mysql_real_escape_string()会在 \ n,\ r 之前添加斜杠,依此类推。

插入数据库后,然后以纯文本 \ n \ r >,因为您通过 \\ n和\\ r 添加了它们。

所以在获得 \ n和\ r 的纯文本后,您需要将其替换为
,然后就是:D