php批量下载网页图片并替换为本地路径

网上有不少超级编辑器,都自带了下载采集图片的功能。

那么一篇文章复制过来,发现图片路径都还是别人网站的怎么办?如何一键下载这些图片到本地,并且自动修改成为本地的路径呢。

/**
* 获取替换文章中的图片路径
* @param string $$xstr 内容 采集网页的content
* @param string $$keyword 创建照片的文件名 我写upimg
* @param string $$oriweb 网址 一般写null
* @return string
*
*/
function replaceimg($$xstr,$$keyword, $$oriweb){
$$basedir = dirname(__FILE__);
//保存路径
$$d = date('Ym', time());
$$dirslsitss = $$basedir.'/../uploads/'.$$keyword.'/'.$$d;//分类是否存在
if(!is_dir($$dirslsitss)) {
@mkdir($$dirslsitss, 0777);
}
//匹配图片的src
preg_match_all('#]*>#i', $$xstr, $$match);
foreach($$match[1] as $$imgurl){
$$imgurl = $$imgurl;
if(is_int(strpos($$imgurl, 'http'))){
$$arcurl = $$imgurl;
} else {
$$arcurl = $$oriweb.$$imgurl;
}
$$img=file_get_contents($$arcurl);
if(!empty($$img)) {
//保存图片到服务器
$$fileimgname = time()."-".rand(1000,9999).".jpg";
$$filecachs=$$dirslsitss."/".$$fileimgname;
$$fanhuistr = file_put_contents( $$filecachs, $$img );
$$saveimgfile = "/uploads/$$keyword"."/".$$d."/".$$fileimgname;
$$xstr=str_replace($$imgurl,$$saveimgfile,$$xstr);
}
}
return $$xstr;
}


+