PHP は、指定された URL ページ内のすべてのリンクを取得します。
form:http://www.uphtm.com/php/253.html
これは、実際に開発者によって一般的に使用されています。以前、他のウェブサイトからフレンドリーリンクを取得するプログラムを作成するときに使用しました。今日、友人が指定された URL ページ内のすべてのリンク関数を取得する PHP 関数をコンパイルしたのを見てみましょう。
次のコードは、指定された URL ページ内のすべてのリンク、つまりすべての a タグの href 属性を取得できます:
- // リンクの HTML コードを取得します
- $ html = file_get_contents('http://www.111cn.net');
- $dom = new DOMDocument();
- @$dom->loadHTML( $html);
- $xpath = new DOMXPath($dom);
- $hrefs = $xpath->evaluate('/html/body//a');
- for ( $i = 0; $i length; $i ) {
- $href = $hrefs->item($i);
- $url = $ href->getAttribute('href');
- echo $url.'
';
- }
このコードはすべての a タグの href 属性を取得しますが、href 属性値は必ずしもリンクである必要はなく、http:
で始まるリンク アドレスのみを保持できます。 - // リンクの HTML コードを取得します
- $html = file_get_contents('http://www.111cn.net');
- $dom = new DOMDocument();
- @ $dom->loadHTML($html);
- $xpath = new DOMXPath($dom);
- $hrefs = $xpath->evaluate( '/html/body// a');
- for ($i = 0; $i < $hrefs->length; $i ) {
- $href = $hrefs ->item($i );
- $url = $href->getAttribute('href');
-
- // http
if (substr($url, 0, 4) == 'http')- echo $url.'
'; - }
-
fopen() 関数は、指定された Web ページ内のすべてのリンクを読み取り、その数をカウントします。このコードは、Web ページのコンテンツを収集する必要がある場所での使用に適しています。 Baidu ホーム ページの読み取りは、Baidu ホーム ページのすべてのリンクを見つけるための例として使用されます。コードはテスト済みで完全に使用可能です:
<🎜。 >- if(empty($url))$url = "http://www.baidu.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 ){//一致するものをすべて検索しますlinks
- if(!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);?>-
- フォーム:http://www.uphtm.com /php/253.html