微信号:phpdevelopers

介绍:PHP开发者(phpdevelopers)-做最专业的PHP资源分享平台!

获取指定URL页面中的所有链接

2015-08-25 09:31 php开发者

获取指定URL页面中的所有链接

1

以下代码可以获取到指定URL页面中的所有链接,即所有a标签的href属性:

1
2
3
4
5
6
7
8
9
10
11
12
13
14

// 获取链接的HTML代码
$html =
file_get_contents('http://www.example.com');

$dom = new DOMDocument();
@$dom->loadHTML($html);

$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate('/html/body//a');

for ($i = 0; $i < $hrefs->length; $i++) {
$href = $hrefs->item($i);
$url = $href->getAttribute('href');
echo $url.'<br />';
}

这段代码会获取到所有a标签的href属性,但是href属性值不一定是链接,我们可以在做个过滤,只保留http开头的链接地址:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

// 获取链接的HTML代码
$html =
file_get_contents('http://www.example.com');

$dom = new DOMDocument();
@$dom->loadHTML($html);

$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate('/html/body//a');

for ($i = 0; $i < $hrefs->length; $i++) {
$href = $hrefs->item($i);
$url = $href->getAttribute('href');

// 保留以http开头的链接
if(
substr($url, 0, 4) == 'http')
echo $url.'<br />';
}





 
php开发者 更多文章 天使湾创投Demo Day:看看“南方系”创业者在做什么? 微软日前正式宣布Windows Phone 8.1移动操作系统将于今年6月24日正式推出 小米论坛800万用户数据库泄漏 网盘中已经可下载 阿里、百度、360合作:不只是爱情这么简单 15个国外优秀的PHP在线学习网站
猜您喜欢 Amazon推荐,Facebook追踪,大数据时代的“狗仔队” Cocos2014开发者大会(秋季)免费门票开始申请啦! 邀您一起:见证运维武林盟主的诞生 | 724运维日 每个程序员都应该收藏的算法复杂度速查表 透过浏览器看HTTP缓存