【发布时间】:2017-07-05 18:46:32
【问题描述】:
我有密码
let dirtyHtml = `<img class="emojione" src="">
<img class="a" src="edw">
<img class="emojione" src="" />
<img class="emojione" src=""/>
<img src="">`;
let clearHtml = dirtyHtml.replace(/<img[^<>]+(?!emojione)[^<>]+>/gi, '');
console.log(clearHtml);
我希望看到这个
<img class="emojione" src="">
<img class="emojione" src="" />
<img class="emojione" src=""/>
但我会看到空字符串...
我的正则表达式有什么问题?
【问题讨论】:
-
你在开玩笑吗? )))
-
这会做得更好:
clearHtml = dirtyHtml.replace(/<img(?:(?!emojione)[^<>])*>/gi, '');- 但听别人说用正则表达式解析 HTML 不是最好的解决方案! -
@ridgerunner 我必须选择哪种方式来获得更好的解决方案?使用 DOM 接口?
标签: javascript regex except