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

09-10 08:36
查看更多