我修改了一个白名单javascript正则表达式,用于删除不需要的标记。
我正在尝试允许此代码:
<span style="color: #000000"></span>
但我无法在正则表达式中执行此操作。
贝娄是迄今为止所拥有的:
(/<(?!(br|\/br|p|\/p|b|\/b|u|\/u|ol|\/ol|ul|\/ul|li|\/li))([^>])+>/gi
由于
答案 0 :(得分:3)
对我也有用 - 除非你想做更多 - 例如如果标签之间有任何内容,或者您想在同一次运行中匹配开始和结束标签,那么请在您的问题中发布示例。
顺便说一句:正则表达式可以通过以下方式简化:
<(?!((?:\/\s*)?(?:br|p|b|u|[o|i]l|li)))([^>])+>
(?:\/\s*)?
- 可选的斜杠(?:br|p|b|u|[o|i]l|li)
- 后跟任何这些标记<强>更新强>
这是我的最后一次尝试:
如果您想匹配所有其他标签,请使用此
<(?!(?:\/\s*)?(?:br|p|b|[o|u]l|li|span)(?:\s*style='color: #[A-Fa-f0-9]+'))([^>])*>
如果您想将标签与颜色匹配,请使用
<((?:\/\s*)?(?:br|p|b|[o|u]l|li|span)(?:\s*style='color: #[A-Fa-f0-9]+'))([^>])*>
答案 1 :(得分:1)
这对我有用(开头没有括号):
/<(?!(br|\/br|p|\/p|b|\/b|u|\/u|ol|\/ol|ul|\/ul|li|\/li))([^>])+>/gi
答案 2 :(得分:1)
我开发了带有源代码的工具。它会删除所有带有用户证明的例外列表的标签:试试这个HTML Tag Stripper