2011-11-04 2 views
0

나는 많은 RSS 피드를 읽고 내 사이트의 데이터베이스에 이러한 데이터를 저장합니다. 나는 이것을 사용하고있다.배열을 사용하여 읽기 RSS 피드

<?php 
     include_once 'db.php'; 
    $url=array(
    'http://rss.cnn.com/rss/edition_us.rss','http://feeds.cbsnews.com/CBSNewsWorld' 
     ...and many other); 

     foreach($url as $key => $value){ 

     $homepage = file_get_contents('$key[$value]'); 

     $movies = new SimpleXMLElement($homepage); 
     echo '<pre>'; 
      foreach($movies->channel->item as $opt){ 
    $title= $opt->title; 
      $tittle=mysql_real_escape_string($title); 
      $link=$opt->link; 
      $links=mysql_real_escape_string($link); 
      $des=$opt->description; 

     $dess=mysql_real_escape_string($des); 

     $sql="INSERT INTO store_feed (title, link, description) 
     VALUES ('$tittle','$links','$dess')"; 

     $result=mysql_query($sql) or die('Error, insert query failed'); 

     } 
      } 
     if(isset($result)){ 
echo "submt successful"; 
     } 

     ?> 

그러나 단 하나의 URL 값만 저장했다.

+0

'$ 홈페이지 = file_get_contents ('$ 키 [$ 값]');'-'$ 키 [$ 값]'배열에서 URL을 얻을 수있는 올바른 방법이 아니다. 그냥'$ value'를 사용하십시오. –

답변

1

내 편집 된 코드. 설명에서 언급 한대로 작동합니다.

<?php 

$url=array('http://rss.cnn.com/rss/edition_us.rss', 'http://feeds.cbsnews.com/CBSNewsWorld'); 

foreach($url as $value){ 
    $homepage = file_get_contents($value); 
    $movies = new SimpleXMLElement($homepage); 

    foreach($movies->channel->item as $opt){ 
     # print_r($opt); // for debugging 

     $title = $opt->title; 
     $link = $opt->link; 
     $description = $opt->description; 

     echo 'title: ' .$title. ' - description: ' .$description. ' - link: ' .$link.'<br/><br/><br/>'; 
    } 
} 

?> 
+0

아니요, 그 작품도 ..its도 하나의 데이터를 보여줍니다 – omnath

+0

완벽하게 작동하고 rss가 제공하는 모든 영화를 보여줍니다 내 대답 편집. db 항목을 다시 추가해야하는데 큰 문제는 아니어야한다고 생각합니다. – sascha

+0

네, 이번에는 그 일이 있습니다. 감사 – omnath