方法一:
1
2
3
4
|
function get_all_url( $code ){ preg_match_all( '/<as+href=["|' ]?([^>" ' ]+)["|' ]?s*[^>]*>([^>]+)</a>/i', $code , $arr ); return array ( 'name' => $arr [2], 'url' => $arr [1]); } |
方法二:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
/** * date 2015-07-24 **/ $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 ); |
以上所述就是本文的全部内容了,希望大家能够喜欢。