正则表达式匹配图像标记以检索URL

时间:2014-12-29 12:40:04

标签: php regex

我写了src="([^"]+)" 它会做以下匹配: <img src="http://google.com/q.jpeg">匹配

<img alt="something" src="http://google.com/q.jpeg">匹配

<audio src="http://something..">也匹配

如何排除视频和音频?

3 个答案:

答案 0 :(得分:1)

试试这个:

$sourcestring = '<img alt="something" src="http://google.com/q.jpeg">';
preg_match_all('/<img.*?src="(.*?)"/',$sourcestring,$matches);

print_r($matches[1]) 

是你的输出。它只接受标记src值。

这对你有帮助。

答案 1 :(得分:1)

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

试试这个。抓住捕获或组。参见演示。

https://regex101.com/r/gX5qF3/9

答案 2 :(得分:1)

一个简单的正则表达式是:

<img\b[^>]*?\bsrc\s*=\s*(['"])(.*?)\1

Demo

但请记住,don't try this at home何时有更好的工具可用;)