4

そうです、私はWebページからリンクを取得しようとしています。リンクは配列$linksに格納されます。

配列内の各リンクから(以下の関数から)タイトルを取得する方法はありますか?それは多次元配列でしょうか?これどうやってするの?

$links = Array();
$URL = 'http://www.theqlick.com'; // change it for urls to grab  
// grabs the urls from URL 
$file  = file_get_html($URL);
foreach ($file->find('a') as $theelement) {
   $links[] = url_to_absolute($URL, $theelement->href);
} 
print_r($links);


    function getTitle($links) 
    {
      //change it for the original titles. 
      $str = file_get_contents("http://www.theqlick.com"); 
      if ( strlen( $str )>0 ) {
        preg_match( "/\<title\>(.*)\<\/title\>/", $str, $title );
     return $title[1];
    }
 } 

 $metatitle = getTitle();
 echo $metatitle;
4

1 に答える 1

1

これをテストするための適切なライブラリがインストールされていませんが、どこから始めればよいかがわかります。

$links = Array();
$URL = 'http://www.theqlick.com'; // change it for urls to grab  
// grabs the urls from URL 
$file  = file_get_html($URL);
foreach ($file->find('a') as $theelement) {
    $link = array();
    $link['url'] = url_to_absolute($URL, $theelement->href);
    $link['title'] = getTitle($link['url']);
    $links[] = $link;
} 
print_r($links);

function getTitle($url) 
{
    $file = file_get_html($url);
    $titles = $file->find('title');
    if (is_array($titles)) {
        return $titles[0];
    } else {
        return null;
    }
} 
于 2012-09-17T01:12:22.363 に答える