ホームページ >バックエンド開発 >PHPの問題 >PHPによる画像置換の定期実装

PHPによる画像置換の定期実装

藏色散人
藏色散人オリジナル
2020-12-01 09:34:302717ブラウズ

php で画像を通常の画像に置き換える方法: 最初に Web ページを指定してcurlを開始し、次にcurlセッションを実行し、次に通常のマッチングを実行し、最後にすべてのimgをマッチングして置換を実装します。

PHPによる画像置換の定期実装

推奨:「PHP ビデオ チュートリアル

このチュートリアルの動作環境: Windows 7 システム、PHP バージョン5.6、この方法はすべてのブランドのコンピューターで機能します。

php regex extracts images and replaces

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

今日は何もすることがないので正規表現で遊んでみました。あなたの会社のウェブサイトにある写真を見てください。

コード内のコメントは明確に記述されています。

以上がPHPによる画像置換の定期実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。