Maison > développement back-end > tutoriel php > Explication détaillée de la correspondance régulière php des adresses d'images distantes dans les articles et du téléchargement d'images vers des instances locales

Explication détaillée de la correspondance régulière php des adresses d'images distantes dans les articles et du téléchargement d'images vers des instances locales

怪我咯
Libérer: 2023-03-12 17:44:01
original
1808 Les gens l'ont consulté

Cet article présente principalement les techniques d'implémentation de php Regular faisant correspondre l'adresse de l'image distante dans l'article et téléchargeant l'image en local. Il peut réaliser la fonction de collecte et de sauvegarde d'images distantes. C'est une technique très pratique. pouvons y faire référence.

utilisons l'expression régulière de PHP pour obtenir :

$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);
Copier après la connexion

Ce qui précède correspond à l'image distante, et nous devons la conserver localement. Deux points doivent être notés ici :
1. Chemin d'enregistrement de l'image (répertoire de stockage d'images)
2. Adresse réelle de l'image d'accès
Ce qui suit est un exemple complet : (vous pouvez l'enregistrer sur le serveur local et modifier le lieu correspondant pour les tests)





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;
?>

Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal