0

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

输入html

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

php读取

$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); ?>

一切都很好,没有错误或警告。我可以轻松地检索,但不能以格式检索。如果我必须添加任何代码,请建议我。

4

1 回答 1

-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等之前添加斜杠。

在插入 db 之后,然后\n \r以纯文本形式出现,因为您通过\\n 和 \\r添加了它们。

所以在得到\n 和 \r的纯文本后,你需要将它们替换为
,然后就是它:D

于 2013-09-14T10:46:33.703 回答