使用 javascript 和正则表达式删除 HTML 字符串中的第一个 img 标记

Remove the first img tag in a string of HTML using javascript and regex

本文关键字:第一个 img 标记 字符串 HTML javascript 正则表达式 删除 使用      更新时间:2023-09-26

使用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' />

来自字符串HTML的第一个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 获取的 img 标记。

http://jsfiddle.net/ZsqK5/