[PHP] RSS-Feed mit SimpleXML Parsen

flattr this!

In PHP kann man sehr leicht einen RSS Feed parsen, mit diesem Codeschnipsel möchte ich euch zeigen wie.
In PHP 5 ist eine Library enthalten, die sich SimpleXML nennt und da ein RSS Feed an sich nichts anderes ist als eine XML Datei machen wir uns diese Library zu nutzen.

<?php
$rss_feed = simplexml_load_file(“http://www.spiegel.de/spam/index.rss”); // URL zum RSS-Feed, hier: Spiegel Satire (SPAM)
$cfg_news_count = 4; // Anzahl der Nachrichten die Angezeigt werden sollen

$feed_info = $rss_feed->channel;
$feed_news_items = $feed_info->item; // Dies ist ein Array mit allen Newseintraegen im Feed

/*
Quellen Titel: $feed_info->title // Titel der Quelle
Quellen Link: $feed_info->link // URL zur Hauptseite der Quelle
Beschreibung: $feed_info->description // Beschreibung der Quelle oder auch Art der Nachrichten
*/

$i = 0; // kleiner Zaehler der die Anzahl der Nachrichten mitzaehlt

foreach($feed_news_items as $news_data) // Jeden Newseintrag im Array einzeln in einer Schleife durchgehen
{
/*
News Titel: $news_data->title // Titel der Nachricht
News Link: $news_data->link // URL zur Quelle (Nachricht selber)
News Text: $news_data->description // Der eigentliche Nachrichten Text (Zusammenfassung)
News Datum: $news_data->pubDate // Zeitpunkt der Veroeffentlichung dieser Meldung
*/

/*** Ab hier die Ausgaben der Elemente ***/

/* ……………………………….. */

/*** Hier endet die Ausgabe der Elemente ***/

$i++; // Nachrichtenzaehler um 1 erhoehen
if($i == $cfg_news_count) // kontrollieren ob das Limit erreicht wurde
break; // Schleife Abbrechen
}
?>

Zu Beginn wird erstmal der RSS Feed eingelesen und eine Variable bestimmt die die Anzahl der maximal dargestellten Einträge limitiert.
Daraufhin werden die wichtigsten Variablen für den Feed festgelegt.
In den Kommentarzeilen sind jeweils Variablennamen und zugehörige Beschreibungen benannt, der Rest sollte aus den zugehörigen Kommentaren hervorgehen.

Dieses Beispiel gilt für einen validen RSS 2.0 Feed, bei einem Atom Feed oder normalen XML Dateien können sich die Bezeichnungen der Variablen ggf. ändern.
Wenn man nicht genau weiß, wie die Variablen heißen, kann man sich mit einem print_r(simplexml_load_file(“http://www.url.zum/feed.xml”)) sehr schnell behelfen um die Objektzeiger und Variablennamen zu finden.

Schlagwörter: ,

15. April 2009 Allgemein