求教 php正则把图片地址前部分替换

查看:58
本文介绍了求教 php正则把图片地址前部分替换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

如何php正则把图片地址 http://img04.taobaocdn.com/bao/uploaded/i4/TB1sCJ6NpXXXXbSapXXXXXXXXXX_!!0-item_pic.jpg_230x230.jpg 替换成 https://img.alicdn.com/bao/uploaded/i4/TB1sCJ6NpXXXXbSapXXXXXXXXXX_!!0-item_pic.jpg_230x230.jpg

img04 后面的04数字是会变的

也就是把 http://img0*.taobaocdn.com/ 替换成 ​ https://img.alicdn.com/

试了一些方法,不是全部替换就是不能正常替换掉

<?=preg_replace('/[a-z]+://[a-z0-9_-/.%]+/i','https://img.alicdn.com',$img);?> 这个也不完整

解决方案

平时存储图片地址的时候,只存后面的保存路径比较方便,换域名的话,直接改一下前缀就可以。
以下正则可以实现替换

echo preg_replace_callback('/[a-z]*\:\/\/img[0-9]*\.taobaocdn\.com/i',function ($r) {
    return str_replace($r[0], "https://img.alicdn.com", $r[0]); 
},$img);

这篇关于求教 php正则把图片地址前部分替换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆