Php只删除html标签

时间:2013-07-11 08:02:38

标签: php html string

看起来很简单 - strip_tags($string);

但我会重复 - html 标签

例如使用条带标签

"THIS<THISTHISTHIS" >> THIS

$str = "You can write 'more' as < sign" >> "You can write 'more' as "

strip_tags("you know that 5<8"); //cuts '8'

我不想要它。

我知道基本上<everything>可以在html中标记,但我想删除那些默认的html标记

4 个答案:

答案 0 :(得分:1)

那么为什么不使用你想要保留的标签字符串并调用strip_tags

$keep = '<a><div><span>';
$new_html = strip_tags($html, $keep);

答案 1 :(得分:1)

您可以将strip_tags()与白名单一起使用:

strip_tags($str,'<code><em><p>');

或者,您可以使用this之类的HTML解析器来删除HTML标记。

希望这有帮助!

答案 2 :(得分:0)

您可以在strip_tags的第二个参数中指定允许的标记:

string strip_tags ( string $str [, string $allowable_tags ] )

答案 3 :(得分:0)

检查HTMLPurifier:http://htmlpurifier.org/

有点难以定制,但它可以很好地过滤html和css。