我想在字符串中找到的每个 img
标记的右括号前插入一个结束斜杠。
这(从 here 修改而来)正确地返回了 img
的每个实例的位置:
var re = /img\s/g,
match;
while (match = re.exec(str)) {
console.log(match.index); //
}
知道了这一点,如何在每个 img
之后找到下一个 > 并在它之前插入一个/?
最佳答案
怎么样,它很简单,但似乎适合您的情况:
str.replace(/(<img[^>]*)>/g, "$1 />");
如果你想让它更聪明一点,你可以这样做:
str.replace(/(<img[^>]*?) *\/?>/g, "$1 />");
this将说明末尾已经有空格和/或斜线的事物...并为以下所有内容创建相同的输出:
IN:
<img src='foo.png'>
<img src='foo.png' >
<img src='foo.png'/>
<img src='foo.png' />
OUT for all the above:
<img src='foo.png' />
如果你想要<img src='foo.png'/>
,去掉$1
后面的空格即可在替换中。
关于javascript - 使用正则表达式在 img 标签的末尾插入 a/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20724515/