2011-11-04 94 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

'$ homepage = file_get_contents('$ key [$ value]');' - '$ key [$ value]'不是从数组中获取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

不,它不工作..它也显示一个单一的数据 – omnath

+0

编辑我的答案,它完美的作品,并显示RSS提供的每一部电影。你必须再次添加数据库的东西,我认为这不应该是一个大问题。 – sascha

+0

是的,这次是它的工作。谢谢 – omnath