我有一个文本区域,用户可以在其中定义帖子。该字段应该允许BBCODE而不是HTML。
目前允许HTML,但不应该。
如何禁止用户发布HTML标记?
答案 0 :(得分:5)
这里有两个主要选择。您可以转义HTML,因此将其视为纯文本,或者您可以将其删除。无论哪种方式都是安全的,但逃避通常是用户期望的。
要进行转义,请在处理bbcode之前在输入上使用htmlspecialchars()
[docs] 。
echo htmlspecialchars("<b>Hello [i]world![/i]</b>")
<b>Hello [i]world![/i]</b>
要完全删除HTML代码,请改为使用strip_tags()
[docs] :
echo strip_tags("<b>Hello [i]world![/i]</b>")
Hello [i]world![/i]
答案 1 :(得分:1)
我认为你应该使用strip_tags()
它会删除html标签&amp;保留文本,但保留BBcode。