gpt4 book ai didi

php - 正则表达式匹配 img 标签中的任何 url

转载 作者:行者123 更新时间:2023-12-01 13:59:13 29 4
gpt4 key购买 nike

我需要一个可以匹配 img src 标签中任意 url 的正则表达式

URL 可以是“/images/temp.jpg”或“temp1.jpg”,甚至是“http://www.example.com/temp.jpg?i=123”或任何东西

我写了下面的代码:

preg_match_all('/(href|src)\s*=\s*"([^\s]+\/\/[^\/]+.\/[^\s]+\.(jpg|jpeg|png|gif|bmp))/ixu'

但它不匹配许多 url,包括那些带有 ?i=12345 之类查询字符串的 url

有人知道如何实现吗?

谢谢

最佳答案

你可以使用

<img [^>]*src="([^"]+)"

并取得第一个捕获组。

编辑: 顺便说一句,这假设您不会在没有正确关闭标签的情况下启动标签。或许更好的是

<img [^>]*src="([^"]+)"[^>]*>

编辑 2: 目前尚不清楚您要实现的目标,我觉得我在浪费时间来帮助您。在您的编辑中,您写道您尝试过:

preg_match_all('/(href|src)\s*=\s*"([^\s]+\/\/[^\/]+.\/[^\s]+\.(jpg|jpeg|png|gif|bmp))/ixu'

为什么没有提到img?当 img 标签不带 href 属性时,为什么要包含 href?与匹配 img 标签内指定的某些 URL 相比,您似乎对检查某物是否为有效图像 URL 更感兴趣。请注意,我提供的正则表达式不会检查 URL 的有效性;它只是基于这样一个事实,即 src 属性中出现在引号中的任何内容都应该是一个有效的 URL。我这样做是因为在很多情况下这是一个实际的假设,而你并没有具体说明你真正想要的是什么。如果您不能提出更好的问题,我不会进一步更新。

关于php - 正则表达式匹配 img 标签中的任何 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4436108/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com