【发布时间】:2012-04-22 12:19:53
【问题描述】:
只需要快速帮助来解决这个问题。
我想从一个字符串中去除所有 html 标签,除了白名单(变量)中的标签。
到目前为止我的代码:
whitelist = 'p|br|ul|li|strike|em|strong|a',
reqExp = new RegExp('<\/?[^>|' + whitelist + ']+\/?>');
现在的问题是它或多或少可以正常工作,但也不能删除例如b,因为它与白名单中的br 中的b 匹配。
我尝试了不同的方法,但没有找到正确的解决方案。
我如何告诉正则表达式执行/.WITHOUT(smth)/ 之类的操作(因此:匹配所有预期的内容)。
【问题讨论】:
-
您最好使用回调进行替换并检查匹配的标签。
-
@alex: 是的可能是一个解决方案,但接受答案的正则表达式很好
-
@ahm:是的,我看到了这篇文章,但在我的情况下,我的答案很好 - 不是一个巨大的危险/非常重要的应用程序。还是谢谢
标签: javascript regex