在读取rss feed时使用数组

时间:2011-11-04 10:13:17

标签: php xml rss-reader

我正在阅读许多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值。请给我一个解决方案。

1 个答案:

答案 0 :(得分: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/>';
    }
}

?>