Home  >  Article  >  Backend Development  >  Detailed explanation of php regular matching of remote image addresses in articles and downloading images to local instances

Detailed explanation of php regular matching of remote image addresses in articles and downloading images to local instances

怪我咯
怪我咯Original
2017-07-05 10:15:531754browse

This article mainly introduces the implementation techniques of php regular matching the remote image address in the article and downloading the image to the local. It can realize the function of collecting and saving remote images. It is a very practical technique. Interested friends can refer to it. Let’s

use php’s regular expression to achieve:

$content = &#39;这里是文章内容,这里插入一张图片测试 <img src="XXXXXXXXXXXXXXXXXXXX">&#39;;
$content = stripslashes ( $content );
$img_array = array ();
// 匹配所有远程图片
preg_match_all ( "/(src|SRC)=["|&#39;| ]{0,}(http://(.*).(gif|jpg|jpeg|bmp|png))/isU", $content, $img_array );
// 匹配出来的不重复图片
$img_array = array_unique ( $img_array [2] );
print_r($img_array);

The remote image is matched above, and we need to keep it locally. Two points need to be noted here:
1. Image saving path (image storage directory)
2. Actual access image address
The following is a complete example: (You can save it to the local server and modify the corresponding place for testing)





php保存远程图片到本地,php正则匹配文章中的图片地址


 $value ) {
 $value = trim ( $value );
 // 读取远程图片
 $get_file = @file_get_contents ( $value );
 // 保存到本地图片名称
 $imgname = date ( "YmdHis" ) . '_' . rand ( 10000, 99999 ) . "." . substr ( $value, - 3, 3 );
 // 保存到本地的实际文件地址(包含路径和名称)
 $fileName = $imgPath . '/' . $imgname;
 // 实际访问的地址
 $fileurl = $imgUrl . "/" . $imgname;
 // 文件写入
 if ($get_file) {
 $fp = @fopen ( $fileName, "w" );
 @fwrite ( $fp, $get_file );
 @fclose ( $fp );
 }
 // 替换原来的图片地址
 $content = ereg_replace ( $value, $fileurl, $content );
}
echo $content;
?>

The above is the detailed content of Detailed explanation of php regular matching of remote image addresses in articles and downloading images to local instances. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn