我已经修改了一个白名单 javascript 正则表达式,它去除了不需要的标签。
我正在尝试允许此代码:
<span style="color: #000000"></span>
但我无法在正则表达式中做到这一点。
贝娄是迄今为止所拥有的:
(/<(?!(br|\/br|p|\/p|b|\/b|u|\/u|ol|\/ol|ul|\/ul|li|\/li))([^>])+>/gi
谢谢
我已经修改了一个白名单 javascript 正则表达式,它去除了不需要的标签。
我正在尝试允许此代码:
<span style="color: #000000"></span>
但我无法在正则表达式中做到这一点。
贝娄是迄今为止所拥有的:
(/<(?!(br|\/br|p|\/p|b|\/b|u|\/u|ol|\/ol|ul|\/ul|li|\/li))([^>])+>/gi
谢谢
也适用于我-除非您尝试做更多事情-例如,标签之间是否有任何内容,或者您想在同一运行中匹配开始和结束标签-然后在您的问题中发布示例.
顺便说一句:正则表达式可以通过以下方式稍微简化:
<(?!((?:\/\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]+'))([^>])*>
这对我有用(开头没有括号):
/<(?!(br|\/br|p|\/p|b|\/b|u|\/u|ol|\/ol|ul|\/ul|li|\/li))([^>])+>/gi
我已经开发了带有源代码的工具。它将剥离所有标签,并带有用户证明的例外列表:试试这个HTML Tag Stripper