禁止在textarea表单字段中发布HTML

时间:2011-10-01 23:36:53

标签: php html tags

我有一个文本区域,用户可以在其中定义帖子。该字段应该允许BBCODE而不是HTML。

目前允许HTML,但不应该。

如何禁止用户发布HTML标记?

2 个答案:

答案 0 :(得分:5)

这里有两个主要选择。您可以转义HTML,因此将其视为纯文本,或者您可以将其删除。无论哪种方式都是安全的,但逃避通常是用户期望的。

要进行转义,请在处理bbcode之前在输入上使用htmlspecialchars() [docs]

echo htmlspecialchars("<b>Hello [i]world![/i]</b>")
&lt;b&gt;Hello [i]world![/i]&lt;/b&gt;

要完全删除HTML代码,请改为使用strip_tags() [docs]

echo strip_tags("<b>Hello [i]world![/i]</b>")
Hello [i]world![/i]

答案 1 :(得分:1)

我认为你应该使用strip_tags()它会删除html标签&amp;保留文本,但保留BBcode。