phpを使ã£ã¦ã•ã¾ã–ã¾ãªä¾¿åˆ©ã“ã¨ãŒã§ãã‚‹ãŒã€ï¼°ï¼¨ï¼°ã®ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒŽãƒ¼ãƒˆã®æ¬„ã«max99xæ°ãŒæŠ•稿ã—ã¦ã„る内容もãã®ã²ã¨ã¤ã 。
ã“れã¯ãƒã‚¤ãƒ‘ーリンクã®ï¼µï¼²ï¼¬ã‚’自動å–å¾—ã™ã‚‹ã‚¹ã‚¯ãƒªãƒ—トã§ã€ä½¿ã„勿‰‹ã«ã‚ˆã£ã¦ã¯ã‚‚ã£ã¨é•ã£ãŸä½¿ã„é“ã«å¿œç”¨ã™ã‚‹ã“ã¨ã‚‚ã§ãã‚‹ã ã‚ã†ã€‚ã“ã“ã§ã¯å˜ã«æŒ‡å®šã—ãŸï¼µï¼²ï¼¬ã®ãƒªãƒ³ã‚¯ã‚’リストã•ã›ã¦ã¿ã‚‹ã€‚ 
ã¾ãšã€$url lã«å–å¾—ã—ãŸã„ページã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’当ã¦ã¯ã‚る。例ãˆã°ã€$url = ‘http://www.google.com’; ã¨ã™ã‚‹ã€‚次ã«get_links()カスタム関数㫠$url を代入ã—マッãƒã—ãŸï¼µï¼²ï¼¬ã‚’é…列ã«åŽã‚ã¦ã„ã。 ãã—ã¦ã€x_array_merge()関数 ã§ãƒžãƒƒãƒã®çµ±åˆå‡¦ç†ã‚’ã™ã‚‹ã€‚ãã®å¾Œã¯ foreach() 関数ã§é…列ã®å†…容をリストアップã—ã¦ã„ãã€ã¨ã„ã†æµã‚Œã«ãªã‚‹ã€‚
<?php
$url = 'http://www.google.com';
$m = get_links($url);
$links = x_array_merge($m[3],x_array_merge($m[5],$m[8]));
foreach ( $links as $geturls ){
echo "<a href=". $geturls . " target='_blank'>" . $geturls ."</a><br>";
}
function get_links($url) {
if( !($body = @file_get_contents($url)) ) return FALSE;
//Pattern building across multiple lines to avoid page distortion.
$pattern = "/((@import\s+[\"'`]([\w:?=@&\/#._;-]+)[\"'`];)|";
$pattern .= "(:\s*url\s*\([\s\"'`]*([\w:?=@&\/#._;-]+)";
$pattern .= "([\s\"'`]*\))|<[^>]*\s+(src|href|url)\=[\s\"'`]*";
$pattern .= "([\w:?=@&\/#._;-]+)[\s\"'`]*[^>]*>))/i";
//End pattern building.
preg_match_all ($pattern, $body, $matches);
return (is_array($matches)) ? $matches:FALSE;
}
function x_array_merge($arr1,$arr2) {
for($i=0;$i<count($arr1);$i++) {
$arr[$i]=($arr1[$i] == '')?$arr2[$i]:$arr1[$i];
}
return $arr;
}
?>
–追記–
ã“ã¡ã‚‰ã«ã‚¹ã‚¯ãƒªãƒ—ãƒˆã‚’è¿½åŠ ã—ã¾ã—ãŸã€‚
å‚考URL: http://us2.php.net/manual/en/f…….php#58505



