欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 综合教程 >内容正文

综合教程

PHP读取指定URL网页地址中的所有链接

发布时间:2023/11/21 综合教程 42 生活家
生活随笔 收集整理的这篇文章主要介绍了 PHP读取指定URL网页地址中的所有链接 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

本例子演示在PHP下使用fopen()函数读取指定网页中的所有链接并统计出数量,在一些需要采集网页页容的地方,适合使用本代码,本例以读取百度首页为例,找出百度首页中所有的链接地址,代码经过测试,完全可用:

[php]<?
if(empty($url))$url = "http://www.baidu.com/";//需要采集链接的URL地址
$site=substr($url,0,strpos($url,"/",8));
$base=substr($url,0,strrpos($url,"/")+1);//文件所在目录
$fp = fopen($url, "r" );//打开url地址页面
while(!feof($fp))$contents.=fread($fp,1024);
$pattern="|href=['\"]?([^ '\"]+)['\" ]|U";
preg_match_all($pattern,$contents, $regArr, PREG_SET_ORDER);//使用正则匹配所有href=
for($i=0;$i<count($regArr);$i++){//找出所有匹配的链接
if(!eregi("://",$regArr[$i][1]))//判断是否是相对路径,即是否还有://
if(substr($regArr[$i][1],0,1)=="/")//是否是站点的根目录
echo "link".($i+1).":".$site.$regArr[$i][1]."<br/>";//根目录
else
echo "link".($i+1).":".$base.$regArr[$i][1]."<br/>";//当前目录
else
echo "link".($i+1).":".$regArr[$i][1]."<br/>";//相对路径
}
fclose($fp);
?>[/php]

运行结果截图如下所示:

总结

以上是生活随笔为你收集整理的PHP读取指定URL网页地址中的所有链接的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。