特定のサイトのソース ファイルを読み取り、正規表現を使用してソース コードを解析し、すべてのリンクを取得します。
- /**********秋水烏編(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);//ファイルディレクトリ
- $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;$iif(!eregi("://",$regArr[$i][1]))//それがあるかどうかは相対パスです。つまり、://
- if(substr($regArr[$i][1],0,1)=="/")//があるかどうか、サイトのルート ディレクトリであるかどうかです。
- echo "link". ($i 1).":".$site.$regArr[$i][1]."
";//ルートディレクトリ - else
- echo "link". ($i 1). ":".$base.$regArr[$i][1]."
";//現在のディレクトリ
- else
- echo "link".($i 1). ":".$regArr [$i][1]."
";//相対パス
- }
- fclose($fp);
- ?>
コードをコピー
|