求教 php正则把图片地址前部分替换
本文介绍了求教 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屋!
查看全文