PHP:如何在用户生成的内容中禁止HTML内容?

时间:2012-01-30 04:58:59

标签: php

我经营一个利基社交网站。我想在用户发布的消息中禁止HTML内容;比如嵌入式视频等。在插入数据库之前,php中有什么选项可以清理它。

2 个答案:

答案 0 :(得分:14)

有三种基本解决方案:

  1. 从帖子中删除所有HTML标记。在PHP中,您可以使用strip_tags()函数执行此操作。
  2. 对所有字符进行编码,以便在用户输入<b>hello</b>时显示为<b>hello</b>。在PHP中,这是htmlspecialchars()函数。 (注意:在这种情况下,您通常会按原样将内容存储在数据库中,并在输出内容的任何位置使用htmlspecialchars。)
  3. 使用HTML清理程序,例如HTML Purifier。这允许用户使用某些HTML格式,例如粗体/斜体,但阻止恶意Javascript和您希望的任何其他标记(例如,在您的情况下为<object>)。

答案 1 :(得分:3)

您可以使用 strip_tags() 功能。