使用PHP获取网页上所有图片地址的方法
要采集网页上的所有图片地址,可以使用PHP的正则表达式。首先,获取网页的HTML内容,然后使用preg_match_all()函数匹配所有图片标签。接着,遍历匹配结果,提取src属性的值,即图片地址。最后,将所有图片地址存储在一个数组中。
以下是一个简单的示例代码:
```php
<?php
function getImages($url) {
$content = file_get_contents($url);
preg_match_all('/]+src="([^">]+)"/i', $content, $matches);
$images = array();
foreach ($matches[1] as $image) {
$images[] = $image;
}
return $images;
}
$url = 'https://example.com'; // 替换为你想要采集图片的网页URL
$images =
1、 file_get_contents获取页面
通过PHP的内置函数`file_get_contents`来获取页面的内容。
例如,以下代码将获取一个名为`example.html`的本地HTML文件的内容:
$html=file_get_contents('example.html');
2、正则表达式找出图片链接
以下是一个简单的代码示例,采集的目标站不同,可能表达式需要些许改动。
//定义正则表达式模式$pattern='/<img.*?src="(.*?)"/';//在HTML页面中查找图片链接preg_match_all($pattern,$html,$matches);//输出图片链接列表foreach($matches[1]as$match){echo$match.'<br>';}
完整示例
//获取HTML页面的内容$html=file_get_contents('http://example.com/page.html');//定义正则表达式模式$pattern='/<img.*?src="(.*?)"/';//在HTML页面中查找图片链接preg_match_all($pattern,$html,$matches);//输出图片链接数量echo'共找到'.count($matches[1]).'个图片链接<br>';//输出图片链接列表foreach($matches[1]as$match){echo$match.'<br>';}