如何从字符串中删除HTML标记?

时间:2011-07-24 16:43:37

标签: php

我有一个PHP脚本,用户插入他的名字。 用户可以插入他们想要的任何内容,甚至可以插入<img src="...

我想以不会显示任何图像(或任何html)的方式保存输入。 我知道它存在,但我不知道要搜索哪些关键字才能找到它。

3 个答案:

答案 0 :(得分:3)

使用strip_tags($str)

http://php.net/strip_tags

答案 1 :(得分:1)

最简单的解决方案是PHP函数strip_tags(),它完全按照名称建议,并从字符串中删除HTML标记。

另一种方法是“转义”输入,以便将<>等HTML字符转换为可显示的文本。这将导致显示HTML代码。

您可以使用函数htmlentities()执行此操作。

值得指出的是,输入可能包含HTML字符而实际上并不打算成为HTML。 &字符是HTML保留字符,但也可以在普通文本中找到。 ><在普通文本中的使用较少,但仍有可能。所有这些都可能在页面上显示时出现问题,而不一定是实际的HTML代码。

解决方法如上所述,使用htmlentities()转义字符串。您可能希望首先运行striptags(),但您也应该运行htmlentities(),以确保正确显示字符串。

希望有所帮助。

答案 2 :(得分:1)

htmlspecialchars()将对文本进行编码,以便标记不会被解释为HTML。