JavaScript正则表达式:从字符串中移除IMG标记

5

我有一个字符串来自表格的innerHTML,我需要使用replace删除所有img标签,我的正则表达式会删除第一个img标签之后的所有内容。我的代码在JSFiddle 这里


请发布一下你尝试过的内容。 - nu11p01n73R
1
如果您已经从表格的 .innerHTML 属性中获取了此字符串 - 最好使用 DOM 方法进行删除,而不是尝试使用正则表达式进行删除。 - Dal Hundal
为什么使用DOM更好? - Zion
3
因为正则表达式不适合解析HTML(除了几种特殊情况)。 - Kaiido
你正在对一个DOM字符串执行操作,为什么不使用DOM方法呢?而且正则表达式在HTML中并不好用。 - Jaromanda X
1个回答

14

使用非贪婪匹配,可以利用.*?实现。

var tmp = inner.replace(/<img .*?>/g,"REPLACED"); 

正则表达式演示


4
用正则表达式做这种事情是不可靠的。例如,这样的代码会在像 <img src='file.jpg' alt='Three > Two'> 这样的情况下出错。 - Dal Hundal
@DalHundal 我同意。我只是指出为什么正则表达式会删除第一个img标签后的所有内容 - nu11p01n73R

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接