当前位置:首页 > PHP读取某站点的链接的函数

PHP读取某站点的链接的函数

点击次数:1398  更新日期:2011-01-02
\n


\n

原理:读取某站点的源文件,再利用正则分析其源代码,得到所有链接
<?
/**********qiushuiwuhen(2002-5-20)***********/
if(empty(url))url = “http://www.csdn.net/expert/”;//设置url
site=substr(url,0,strpos(url,”/”,8));//站点
base=substr(url,0,strrpos(url,”/”)+1);//文件所在目录


\n

fp = fopen(url, “r” );//打开url
while(!feof(fp))contents.=fread(fp,1024);//


\n

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);
?>

\n