php如何使用正则表达式匹配url图片啊

格式为http:xxxxxxxxxxxxxxxxxxxxxxxxx.jpg谢谢啦... 格式为

http:xxxxxxxxxxxxxxxxxxxxxxxxx.jpg
谢谢啦
展开
 我来答
百度网友b79519e
2014-11-17 · TA获得超过3399个赞
知道大有可为答主
回答量:1417
采纳率:100%
帮助的人:1311万
展开全部

可以这样:

$image = "http://xxxxxxxxx.jpg"
preg_match("/(http:\/\/)?\w+\.jpg/",$image,$matches);//http://可要可不要
echo $matches[0];//$matches[0]即为匹配的图片路径

以上只是匹配jpg类型的图片

如果要匹配其他类型可以这样使用

preg_match("/(http:\/\/)?\w+\.(jpg|jpeg|gif|png)/",$image,$matches);
echo $matches[0];
一本菜谱闯天下
2015-10-27 · TA获得超过650个赞
知道答主
回答量:356
采纳率:0%
帮助的人:179万
展开全部
$image = '<img src="/avatar/100/r6s1g11.jpg" />';
preg_match('/src="(.*?(jpg|jpeg|gif|png))/', $image, $url);
echo $url[1];

网页上的图片都是使用IMG标签加载的,所以在匹配的时候是以 src=" 开始匹配,很多人会觉得为什么不是以 http:// 开始匹配,那是因为图片地址会有相对地址(如:"/xxx/xxx.jpg")和绝对地址(如:"http://www.xxx.com/xxx/xxx.jpg")两种情况,相对地址是没有 http:// 的,所以为了这两种情况都能匹配,故以 src=" 是最好的。

".*" 是匹配多个字符的意思,?号的意思是只匹配到第一个出现的jpg或jpeg、gif、png。

因为图片有很多格式类型,所以用"(jpg|jpeg|gif|png)"来匹配多个类型,"|"是或者的意思。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奥丁神王
2014-11-17 · TA获得超过357个赞
知道小有建树答主
回答量:331
采纳率:100%
帮助的人:387万
展开全部
$a = '<img alt="PHPimg" src="https://gss0.baidu.com/7LsWdDW5_xN3otqbppnN2DJv/reon/abpic/item/c1eb922389152670ac34de5d.jpg">';
preg_match("/http\:([^\"\']+)\.jpg/i", $a, $m);
print_r($m);
追答
如果是多条,用preg_match_all
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式