这篇文章给大家分享的是有关php正则怎么实现图片替换图片的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
php正则实现图片替换图片的方法:首先指定网页并启动curl;然后执行一个curl会话;接着执行正则匹配;最后匹配所有的img并实现替换即可。
php正则提取图片并替换
<?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 = '/<div class="yt-goods-nav">(.+?)<div class="pagination" style="float: right">/is'; // 执行正则匹配 preg_match($pattern, $dxycontent, $match); //var_dump($match[0]); //$match[0] 即为<div class="yt-goods-nav">和<div class="pagination">之间的所有源码 // 匹配所有的img preg_match_all('/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i', $match[0],$matches);//带引号 $new_arr=array_unique($matches[0]);//去除数组中重复的值 // foreach($new_arr as $key) { //strip_tags($key); //由于这个网站的路径的域名被隐藏 所以直接替换/为域名/ echo preg_replace('#src="/#is', 'src="http://aihuinong.com/', $key); echo "</br>"; }
感谢各位的阅读!关于php正则怎么实现图片替换图片就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。