Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18672952
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类:

2008-05-29 09:39:15

原理:读取某站点的源文件,再利用正则分析其源代码,得到所有链接

以下为引用的内容:
/**********qiushuiwuhen(2002-5-20)***********/
if(empty($url))$url "";
//设置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$regArrPREG_SET_ORDER);
//匹配所有href=
for($i=0;$i<count($regArr);$i++){
//遍历所有匹配

phperz~com


if(!eregi("://",$regArr[$i][1]))
//是否是相对路径,即是否还有://
    
if(substr($regArr[$i][1],0,1)=="/")
//是否是站点的根目录

phperz.com


    
echo "link".($i+1).":".$site.$regArr[$i][1]."
"
;
//根目录
    
else
    echo 
"link".($i+1).":".$base.$regArr[$i][1]."
"
;
//当前目录
www~phperz~com

else
    echo 
"link".($i+1).":".$regArr[$i][1]."
"
;
//相对路径
}
fclose($fp
);
?> 
阅读(300) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~