2013-05-19 57 views
1

我有一個鏈接列表中的所有文章。我正嘗試使用PHP一次性提取所有標題和描述。我還希望文章標題能夠鏈接到URL和描述下面以斜體顯示。從多個URL中提取標題和描述

我的問題是:它適用於我爲一個鏈接,但當我嘗試多個鏈接,或者即使我複製代碼並手動粘貼每個鏈接,它不起作用。以下是我的代碼,適用於一個鏈接。有任何想法嗎?

<html> 
    <a href="http://bit.ly/18EFx87"> 
    <b><?php 

    function getTitle($Url){ 
     $str = file_get_contents($Url); 
     if(strlen($str)>0){ 
      preg_match("/\<title\>(.*)\<\/title\>/",$str,$title); 
      return $title[1]; 
     } 
    } 
    echo getTitle("http://bit.ly/18EFx87"); 

    ?></b><br> 
    </a> 
    <i><?php 
    $tags = get_meta_tags('http://bit.ly/18EFx87'); 
    echo $tags['description']; 
    ?></i> 
    </html> 

回答

0

我假設你的意思是多個網址,那麼類似這樣的東西將起作用。 :

<html> 

<?php 
function getTitle($url){ 
    @$str = file_get_contents($url); // suppressing the warning 
    if(strlen($str)>0){ 
     preg_match("/\<title\>(.*)\<\/title\>/",$str,$title); 
     return $title[1]; 
    } else { 
     return false; 
    } 
} 

$urls = array('http://bit.ly/18EFx87', 'url2'); 
foreach($urls as $url) 
{ 
    $title = getTitle($url); 
    if($title === false) 
    { 
     continue; 
    } 
    echo '<a href="' . $url . '"><b>'; 
    echo $title; 

    echo '</b></a><br><i>'; 

    $tags = get_meta_tags($url); 
    echo $tags['description'] . '</i>'; 
} 
?> 
</html> 
+0

謝謝,Rasmus。我看到你在那裏做什麼,代碼是有道理的 - 出於某種原因,當我嘗試它時,它不會運行,或者它變成空白。任何想法爲什麼?代碼是否在你的最後? –

+0

Jep剛剛測試過它。工作正常。如果你沒有用url替換'url2',它會開始抱怨,這可能會導致你的服務器隱藏每個輸出。你在apache上運行它嗎? – CodeTower

+0

沒關係!我看到你只是在foreach標籤中編輯了代碼 - 非常好。正是我需要的。謝謝! –

相關問題