php怎么用正则匹配文章中的远程图片地址并下载图片至本地

  介绍

本篇内容介绍了“php怎么用正则匹配文章中的远程图片地址并下载图片至本地”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

使用php的正则表达式来实现:

content 美元;=,& # 39;这里是文章内容,这里插入一张图片测试,& lt; https://www.yisu.com/zixun/img  src=" XXXXXXXXXXXXXXXXXXXX "> ';   (内容=stripslashes美元内容);   数组$ img_array=();//匹配所有远程图片   preg_match_all ("/src | src)=(“| |) {0} (http://(. *)。(gif | jpg | jpeg | bmp | png))/isU”,内容美元,美元img_array);//匹配出来的不重复图片   (img_array=array_unique美元img_array [2]);   print_r ($ img_array);

上面就将远程图片给匹配出来了,我们需要将其保持到本地。这里需要注意两点:
1。图片保存路径(图片存储目录)
2。实际访问图片地址
下面是完整实例:(你可以保存到本地服务器修改相应地方进行测试)

& lt; ! DOCTYPE  HTML>   & lt; html  lang=癳n-US"祝辞   & lt; head>   & lt; meta  charset=癠TF-8"祝辞   & lt; title> php保存远程图片到本地,php正则匹配文章中的图片地址& lt;/title>   & lt;/head>   & lt; body>   php & lt; ?//保存文章中远程图片到本地//yanue;//,文件保存目录路径(请更换为你自己的路径,,你可以回声一下)   $ save_path =, _SERVER 美元;[& # 39;document_root # 39;],只& # 39;swfupload/附加/& # 39;;//,文件保存目录URL=$ save_url  & # 39;/swfupload/附件/& # 39;;   $ save_path =, realpath  (, save_path 美元;),只& # 39;/& # 39;;//,图片存储目录   $ imgPath =, save_path 美元;只date  (,“Ymd",);   $ imgUrl =, save_url 美元;只date  (,“Ymd",);//,创建文件夹   if  (!, is_dir  (, imgPath 美元;)),{   ,@mkdir  (, imgPath美元,0777,);   }=$ content  & # 39;这里是文章内容,这里插入一张图片测试,& lt; img  src=https://www.yisu.com/zixun/癤XXXXXXXXXXXXXXXXXXX”>”;   (内容=stripslashes美元内容);   数组$ img_array=();//匹配所有远程图片   preg_match_all ("/src | src)=(“| |) {0} (http://(. *)。(gif | jpg | jpeg | bmp | png))/isU”,内容美元,美元img_array);//匹配出来的不重复图片   (img_array=array_unique美元img_array [2]);   print_r ($ img_array);//时间无限制   set_time_limit (0);   foreach (img_array关键=>美元美元值){   (value=削减美元值);//读取远程图片   (get_file=@file_get_contents美元值);//保存到本地图片名称   $ imgname=日期(“YmdHis”)。“_”。兰特(10000,99999)。“。”。substr(美元价值,- 3,3);//保存到本地的实际文件地址(包含路径和名称)   文件名=imgPath美元。“/薄mgname美元;//实际访问的地址   fileurl=imgUrl美元。“/薄mgname美元;//文件写入   如果(get_file美元){   (fp=@fopen美元文件名,“w”);   @fwrite (fp, get_file美元);   @fclose (fp);   }//替换原来的图片地址   $内容=ereg_replace(价值,fileurl美元,美元内容);   }   echo $内容;   ?>      

php怎么用正则匹配文章中的远程图片地址并下载图片至本地