2011-11-09 13 views
-1

このRSSフィードのデータをデータベーステーブルに読み込んで保存します。 RSSフィードはhttp://feeds.feedburner.com/TechCrunch/です。複雑なRSSフィードからすべてのデータを取得

私は別のRSSフィード読み取るために前に次のコードを使用しています

$homepage = file_get_contents('http://rss.cnn.com/rss/edition_technology.rss'); 
$homepage = preg_replace("/(<\/?)(\w+):([^>]*>)/", "$1$2$3", $homepage); 
$xml = simplexml_load_string($homepage,'SimpleXMLElement', LIBXML_NOCDATA); 

echo '<pre>'; 
print_r($xml); 

foreach($xml->channel->item as $opt) { 
    $title = mysql_real_escape_string($opt->title); 
    $link = mysql_real_escape_string($opt->link); 
    $des = mysql_real_escape_string($opt->description); 
    // and others 
    $sql = 
     "INSERT INTO store_feed (title, link, description) 
     VALUES('$title','$link','$des') 
     ON DUPLICATE KEY UPDATE title = '$title', description = '$des'"; 
    $result = mysql_query($sql) or die(mysql_error()); 
} 

を...と私は、所望のデータを得たが、今回のデータは異なっています。

リンク、説明、画像、公開日、このフィードのタイトルを保存します。これどうやってするの?

私はデータベースに挿入する方法を知っていますが、RSSフィードからこのデータを取得するにはどうすればよいですか?私は指導が必要です。

+0

あなたのデータベース(MySQL、MSSQL、Oracle)に関する情報が既に追加されています。もう少し情報をお願いします。 – Manuel

+0

私はmysqlを使用していますが、データベースに挿入する際に問題はありませんが、このデータをRSSフィードからどのように読み取るかを知りたいと思っています。 – omnath

+0

dragon112、彼はすでにデータベース接続と基礎データベースを持っており、彼はMySQLを使用していることがコードから明らかです。 –

答えて

1

xml文字列でsimplexml_load_string()を使用すると、オブジェクトツリーに変換されます。

このXML:

<channel> 
    <item> 
    <title>Example Title</title> 
    <description>Example Description</description> 
    </item> 
</channel> 

は...あなたがそうのように使うことができる何かに変換されます。

$xml->channel->item->title; 
$xml->channel->item->description; 

だから、あなたはどのように確認するために、新たなRSSフィードのXMLを見てする必要がありますあなたのコードを変更することができます。

foreach($xml->channel->item as $opt) { 
    $title = mysql_real_escape_string($opt->title); 
    $link = mysql_real_escape_string($opt->link); 
    $des = mysql_real_escape_string($opt->description); 
    $publication_date = mysql_real_escape_string($opt->pubDate); 
    $image = mysql_real_escape_string(strip_tags($opt->description, '<img>')); 
} 

画像は、説明の中にあるので、我々はそれがstrip_tags()を使用して抽出することができます。これはおそらく、次のようになります。

+0

私はあなたのコードを使用し、タイトル、リンク、説明のために働いていますが、画像はまだ動作していません。それは説明列に保存されましたが、 "strip_tags()"を使用してもそれを保存できません。 – Arif

関連する問題