我需要通过字符串中的正则表达式获取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);
我哪里出错了?
答案 0 :(得分:1)
我认为你需要的正则表达式是。
\background\-image:\surl\((.*(jpg|png|gif|jpeg))\
你在原来的正则表达式中忘记了逃脱 - 当你可以只做一个或在扩展名上时,你不需要输入四次全匹配。
请注意,您还可以在其中放置一些可选功能,以确保捕获所有背景图像声明,例如额外的空格等。
答案 1 :(得分:1)