php正则表达式替换图片地址

网站要改版,以前的上传的图片路径是在uploads里面的,现在想批量替换成images
原来的路径如下:
<img src="/uploads/101012/4-101012160S5294.jpg" width="138" height="110">

现在要替换成
<img src="/images/4-101012160S5294.jpg" width="138" height="110">

【注】有的src=后面没有加引号。如 <img src=/upload/101012/4101012160S5294.jpg alt=test>

求高手写出正则规则,谢谢了

$imgpath = ' <img src="/uploads/101012/4-101012160S5294.jpg" width="138" height="110"> ';

preg_replace('/(?<=img src)(\W+)uploads?\/\d+/i', "$1.images", $imgpath);
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-04
<img src=(.+?)>追问

太简洁了吧,还是谢谢你啊,多谢大家的帮忙,下次有问题给你们使劲加分(*^__^*)

第2个回答  2011-09-04
直接在数据库里把路径改掉,然后找到上传文件的设置,改掉。一次性解决。省的在页面上还要浪费资源。
数据库可以这样
update tablename set `fieldname`=replace(`fieldname`,'uploads','images')追问

这个确实很能解决问题,方法很不错,但是有部没数据库了,得采集,所以还是需要正则表达式,不过谢谢的帮忙,十分感谢!!!

相似回答