我修改了一个白名单的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]+'))([^>])*>