ホームページ >バックエンド開発 >PHPチュートリアル >指定したURLのハイパーリンクアドレスを取得するPHP正規マッチング page_PHPチュートリアル
データ収集とページ分析では、多くの場合、特定の URL ページのコンテンツ、または第 2 レベルまたは第 3 レベルの詳細なページ コンテンツをキャプチャする必要があります。
ここでは、参照のみを目的としたテスト例の実装を示します。
コードは次のとおりです:
/*
指定されたページリンクと一致します
return:配列の一致[リンク、コンテンツ、すべて]
*/
関数 match_links($host, $document) {
$pattern = '/(.*?)/i';
preg_match_all($pattern, $document, $m);
$m を返します;
preg_match_all("']+))[^> ]*>?(.*?)'isx",$document,$links);
if(!empty($val))
If(preg_match("/http/",$val)){
$match['link'][] = $val;
}
他に{
$match['link'][] = $host .
}
}
while(list($key,$val) = each($links[3])) {
if(!empty($val))
If(preg_match("/http/",$val)){
$match['link'][] = $val;
}
他に{
$match['link'][] = $host .
}
}
while(list($key,$val) = each($links[4])) {
if(!empty($val))
$match['content'][] = $val;
}
while(list($key,$val) = each($links[0])) {
if(!empty($val))
$match['all'][] = $val;
}
return $match['link'];
}
/*
指定された URL からページのテキスト コンテンツを取得します
*/
$str = @file_get_contents($url);
if(mb_check_encoding($str, "GBK"))
$str = iconv("GBK","UTF-8", $str);
$str =strip_tags($str); // HTML タグをフィルターします
;
/*
$str = preg_replace( "@