通过正则表达式从background-image属性获取URL

时间:2015-10-09 16:01:25

标签: php regex

我需要通过字符串中的正则表达式获取URL。我的代码:

$mystring = file_get_contents($urlstr);
preg_match('/background-image: url\(\\\'\/\/(.*png)|background-image:url\(\\\'\/\/(.*jpg)|background-image: url\((.*jpeg)|background-image: url\(\\\'\/\/(.*gif)/', $mystring, $A);
$prw = 'http://'.end($A);

我哪里出错了?

2 个答案:

答案 0 :(得分:1)

我认为你需要的正则表达式是。

\background\-image:\surl\((.*(jpg|png|gif|jpeg))\

你在原来的正则表达式中忘记了逃脱 - 当你可以只做一个或在扩展名上时,你不需要输入四次全匹配。

请注意,您还可以在其中放置一些可选功能,以确保捕获所有背景图像声明,例如额外的空格等。

答案 1 :(得分:1)

您可以尝试类似

的内容
index

this regex101示例中的网址匹配。