正则表达式提取img src javascript

2023-11-25

我正在尝试从长 html 字符串中提取 img 和 src 。

我知道有很多关于如何做到这一点的问题,但我尝试过并得到了错误的结果。我的问题只是关于矛盾的结果。

我在用:

var url = "<img height=\"100\" src=\"data:image/png;base64,testurlhere\" width=\"200\"></img>";
var regexp = /<img[^>]+src\s*=\s*['"]([^'"]+)['"][^>]*>/g;
var src = url.match(regexp);

但这会导致 src 无法正确提取。我不断收到 src =<img height="100" src="data:image/png;base64,testurlhere" width="200"></img>代替data:image/png;base64,testurlhere

但是,当我在 regex101 的正则表达式测试器上尝试此操作时,它正确提取了 src。我究竟做错了什么?是match()使用了错误的函数>


如果您出于某种原因需要获取整个 img 标签:

const imgTags = html.match(/<img [^>]*src="[^"]*"[^>]*>/gm);

然后您可以提取数组中每个 img 标签的源链接,如下所示:

const sources = html.match(/<img [^>]*src="[^"]*"[^>]*>/gm)
                          .map(x => x.replace(/.*src="([^"]*)".*/, '$1'));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式提取img src javascript 的相关文章

随机推荐