由于在正则表达式方面比较弱,我一直在和他们一起改进。我一直在尝试的一个概念是删除除允许列表之外的所有HTML元素。
我设法反其道而行之--删除指定的元素列表:
<\/?(strong|em|a)[^>]*>然而,我想要相反的,并删除每个元素,但。
发布于 2009-02-05 07:09:09
/<(.|\n)*?>/gmatches all HTML tags pairs including attributes in the tags
排除标记strong和em
(?!strong|em)匹配除strong和em之外的所有HTML标记对
<((?!strong|em).|\n)*?>发布于 2009-02-05 12:39:21
不要使用regex来解析XHTML。
此外,作为一种安全措施,绝对不要使用正则表达式来解析XHTML。
HTML解析器(或先进行整理,再进行XML解析器)是白名单中唯一可行的方法。
/<(.|\n)*?>/g匹配所有HTML标记对,包括标记中的属性
不是的。
<a href=">" onmouseover="attackCode()">以及一千种其他可能性,包括有效的和malformed-but-the-browser-will-still-understand-it.的
发布于 2009-02-05 05:49:48
Do NOT try parsing with regular expressions
相反,请使用real parser
https://stackoverflow.com/questions/514610
复制相似问题