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



原理:读取某站点的源文件,再利用正则分析其源代码,得到所有链接
<?
/* *********qiushuiwuhen(2002-5-20)********** */
if ( empty ( $url )) $url   =   " http://clin003.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 );
?>  
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值