Maison  >  Article  >  développement back-end  >  Implémentation régulière PHP du remplacement d'image

Implémentation régulière PHP du remplacement d'image

藏色散人
藏色散人original
2020-12-01 09:34:302685parcourir

Comment remplacer des images par des images PHP normales : spécifiez d'abord la page Web et démarrez curl ; puis exécutez une session curl ; puis effectuez une correspondance régulière ; faites enfin correspondre toutes les images et implémentez le remplacement.

Implémentation régulière PHP du remplacement d'image

Recommandé : "Tutoriel vidéo PHP"

L'environnement d'exploitation de ce tutoriel : système Windows 7, version PHP 5.6, Cette méthode fonctionne pour toutes les marques d'ordinateurs.

PHP regex extrait les images et les remplace

<?php
//  指定网页
$url = "http://aihuinong.com/goods/";
//  启动curl
$ch = curl_init();
//  CURLOPT_URL: 这是你想用PHP取回的URL地址。你也可以在用curl_init()函数初始化时设置这个选项。
curl_setopt ($ch, CURLOPT_URL, $url);
//(后面参数为1时) 如果成功只将结果返回,不自动输出任何内容。如果失败返回FALSE
//(后面参数为0时) 如果成功只返回TRUE,自动输出返回的内容。如果失败返回FALSE
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
//  CURLOPT_CONNECTTIMEOUT 在发起连接前等待的时间,如果设置为0,则不等待。
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,10);
//  curl_exec — 执行一个curl会话
$dxycontent = curl_exec($ch);
//  匹配class="yt-goods-nav" - class="pagination"之间的内容
$pattern = &#39;/<div class="yt-goods-nav">(.+?)<div class="pagination" style="float: right">/is&#39;;
//  执行正则匹配
preg_match($pattern, $dxycontent, $match);
//var_dump($match[0]);
//$match[0] 即为<div class="yt-goods-nav">和<div class="pagination">之间的所有源码
//  匹配所有的img
preg_match_all(&#39;/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i&#39;,
$match[0],$matches);//带引号
$new_arr=array_unique($matches[0]);//去除数组中重复的值
//
foreach($new_arr as $key) {
//strip_tags($key);
//由于这个网站的路径的域名被隐藏 所以直接替换/为域名/
echo preg_replace(&#39;#src="/#is&#39;, &#39;src="http://aihuinong.com/&#39;, $key);
echo "</br>";
}

Je n'avais rien à faire aujourd'hui, alors j'ai joué avec regex. Jetez un œil aux photos sur le site Web de votre entreprise.

Les commentaires dans le code sont clairement écrits.

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!

Déclaration:
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