繁体   English   中英

正则表达式从字符串返回所有图像标签

[英]regex to return all image tags from string

我已经为此工作了一段时间,但没有成功。 希望有人知道我一直在寻找的知识。

我有一个我无法修改的字符串,我需要从中获取存储在数组中的所有标签。

the string looks like this :

    <p><strong>BLA BLA BLA</strong></p>

<p><strong>BLA BLA BLA</p>

<p><em>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse ut mauris vulputate, pellentesque eros sit amet, consequat quam. Nam tempor ipsum ac ligula aliquam, vel dictum elit feugiat. Vivamus vehicula dolor quis ligula malesuada gravida. Curabitur suscipit ante ut sodales sodales. Donec mattis odio a sodales iaculis. Integer urna augue, convallis non euismod a, facilisis vel ex. Nulla sed sodales felis, ac semper odio. Maecenas malesuada justo ac porta faucibus. Aliquam tempor justo ut egestas bibendum.</em></p>
<img alt="lorem ipsum" data-caption="enter caption here" data-entity-type="file" data-entity-uuid="901b744e-a279-4271-9e96-f0836fed3e76" src="https://www.blablabla.com/image.png" />
<p>&nbsp;</p>
<img alt="lorem ipsum" data-caption="enter caption here" data-entity-type="file" data-entity-uuid="901b744e-a279-4271-9e96-f0836fed3e76" src="https://www.blablabla.com/image.png" />
<p>&nbsp;</p>

我正在尝试使用几个正则表达式,但是它们无法返回所有图像标签,它们返回的第一个或根本不返回。

.match('<img.*');
.match('<img\ssrc\s*=\s*"(.+?)\/>');

有谁知道我该怎么办?

谢谢。

您应该避免使用正则表达式来解析HTML,但是由于这是img标签的一种情况,因此无法嵌套,因此在这种情况下,您只能使用此正则表达式。 从组1中选择URL

<img.*?\s+src=['"]?(.*)['"]?.*?\/>

在这里检查

https://regex101.com/r/qAf16A/3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM