回复 6# kissdp2
用下面这段代码来做吧,在正则替换中用自定义函数,即我写的getattac()函数。
这个正则可以将图片的url匹配出来,匹配后会经过函数getattac的处理,图片是否是本地的,非本地图片进行下载操作。
你说你已经有下载的代码了,函数中的处理就由你自己来写吧。
- preg_replace("/<img src=\\\\"(.*?)\\\\"/ies", "'<img src="'.getattac('\\1').'"'",$str);
- function getattac($str){
- //所有获取到的图片的url都要经过这个函数的处理
- //此函数用于判断是否为本站的图片,是本站的,返回原值,不是本站的,进行图片下载的处理
- //下面的事情要与你的代码结合了
- return $return;
- }
复制代码 下面一段代码是我做测试时的例子:- <html>
- <head><meta http-equiv="Content-Type" charset="gb2312" /></head>
- <body>
- <?php
- $handle = fopen("a.txt",r);
- $str = fread($handle,filesize("a.txt"));
- fclose($handle);
- preg_replace("/<img src=\\\\"(.*?)\\\\"/ies", "'<img src="'.getattac('\\1').'"'",$str);
- function getattac($str){
- echo $str;
- echo '成功<br/>';
- }
- ?>
- <body></html>
复制代码 a.txt文件中放的是你给出的测试代码,
我测试时出来的结果是:- http://img3.cache.netease.com/lady/2010/1/7/20100107141127fc746.jpg成功
- attachment/201001/8/1_12629343785Ppi.jpg成功
复制代码 符合你的要求。 |