2

只需要快速帮助来解决这个问题。

我想从字符串中删除所有 html 标签,但白名单(变量)中的标签除外。

到目前为止我的代码:

whitelist = 'p|br|ul|li|strike|em|strong|a', 
reqExp = new RegExp('<\/?[^>|' + whitelist + ']+\/?>');

现在的问题是它或多或少可以正常工作,但也不能删除,例如b,因为它与白名单之外b的匹配br

我尝试了不同的方法,但没有找到正确的解决方案。我怎么能告诉正则表达式做类似的事情/.WITHOUT(smth)/(因此:匹配所有期望以下的一切)。

4

1 回答 1

4

使用这个正则表达式:-

<(?!/?(p|br|ul|li|strike|em|strong|a)(>|\s))[^<]+?>

现场演示

有关更多信息,请参阅我之前的回答,它可以满足您的要求。

于 2012-04-22T12:29:19.450 回答