使用 Javascript 和正则表达式,给出:
stringHTML = "bla bla bla <img src='img1.png' /> bla bla bla
<img src='img2.png' /> bla bla bla <img src='img3.png' />";
你如何删除
<img src='img1.png' />
stringHTML 中的第一个 img 标签
使用 Javascript 和正则表达式,给出:
stringHTML = "bla bla bla <img src='img1.png' /> bla bla bla
<img src='img2.png' /> bla bla bla <img src='img3.png' />";
你如何删除
<img src='img1.png' />
stringHTML 中的第一个 img 标签
像这样的东西会起作用:
var output = stringHTML.replace(/<img src='img1.png' \/>/, '');
这将仅找到您指定的确切子字符串(文字<img src='img1.png' />
)并将其替换为空字符串。请注意,正斜杠需要在模式中进行转义,因为 JavaScript 使用正斜杠来分隔正则表达式文字。
要从输入字符串中删除第一个<img>
标签,无论路径或其他属性如何,都可以使用:
var output = stringHTML.replace(/<img.*?\/>/, '');
这将找到一个字面<img
量,后跟零个或多个任意字符,非贪婪地,后跟一个字面量/>
. 请注意,如果没有全局开关 ( g
),它只会替换第一次出现
JavaScript 内置了出色的 DOM 解析功能。
x = document.createElement("x");
x.innerHTML = stringHTML;
x.removeChild(x.querySelector("img"));
请注意,querySelector("img")
选择第一张图像。如果您特别需要选择图像,src=img1.png
可以使用属性选择器。如果查询选择器不可用,您将不得不遍历使用getElementsByTagName
.