2013-05-19 2 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

나는 여러 개의 URL을 의미한다고 가정합니다. :

<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이 방금 테스트했습니다. 잘 작동합니다. 'url2'를 URL로 대체하지 않으면 서버가 모든 출력을 숨길 수있는 불평을 시작합니다. 아파치에서 실행합니까? – CodeTower

+0

신경 쓰지 마십시오! foreach 태그에서 코드를 편집 한 것을 볼 수 있습니다. 매우 좋습니다. 정확히 내가 필요로하는 것. 감사! –