用正则表达式替换HTML实体

11
我需要一个PHP正则表达式来查找所有的HTML实体,例如"<br /> <br /> ..etc. ",以便从一个长字符串中移除它们。请保留HTML标记。

1
完全删除还是替换为它们的字符值? - Tim Pietzcker
1
你有没有尝试过自己解决它?如果有,你想到了什么? - zrvan
3个回答

20

以下代码可以移除HTML实体中的.alpha、.decimal和.hex:

$text = preg_replace('/&(?:[a-z\d]+|#\d+|#x[a-f\d]+);/i', '', $text);

-1

尝试使用这个正则表达式... [^\s]* 会捕获很多其他无用的东西...

$text = preg_replace("/&(?:[a-z0-9]{2,8}|#[0-9]{2,3}+);/i", '', $text);

-2

尝试使用strip_tags函数,这里不需要正则表达式


点赞这个答案;已经有一个经过验证的函数可以做到这一点,不要给自己增加更多的工作! - Rohaq
7
-1,“strip_tags()”仅删除标签,而不是HTML实体,例如“<”和“>”。 - zrvan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接