php 抓取网址图片 正则表达匹配图片知识点

该段代码演示了如何使用PHP的curl库初始化一个HTTP请求,获取网页内容,然后利用正则表达式提取特定HTML结构间的图像链接。它还处理了重复的链接并替换了相对路径为绝对路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php

//  指定网页

$url = "http://qcncn.cn/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://qcncn.cn/', $key);

echo "</br>";

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值