PHP - 文本域 - HTML 标签

3

我刚开始接触 PHP 编程。我已经做了以下工作:有一个文本区域,用户在里面写入文本,然后将其保存到数据库中。但是在列出这些条目时,带有 HTML 标签的文本会被显示为 HTML 元素。

例如,"我今年 < b >25< /b > 岁了" 会被显示为 "我今年 25 岁了"。

我希望显示用户在文本区域中输入的文本,而不是应用 HTML 规则。由于这个原因,用户无法换行。

有没有办法避免所有 HTML 属性?是否有任何函数或其他方法可以帮助解决这个问题?


关于多行换行符的帮助? - user675511
2个回答

2
将发布的内容通过htmlentities进行转换:
$var = htmlentities($old_var);

注意:您还应确保自己不会成为SQL注入的受害者。

0

将其保存到数据库中,但对来自用户的每个值进行转义以避免mysql注入。

示例:

$sqlaction = mysql_query("INSERT INTO posts (text) VALUES ('".mysql_real_escape_string($_POST['text'])."')");

如果你想在页面上显示它,可以像这样使用 htmlentities:
<div><?php echo htmlentities($row['text']); ?></div>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接