RSS-Feedreader mit PHP

DemoDownload

Hier wieder ein Tutorial f├╝r euch ­čśë
Diesmal zeige ich euch wie man mit einem kurzen PHP-Schnipsel RSS-Feeds auslesen und darstellen kann.

<?php
if ( isset( $_GET[url] ) ) {
    $url = "$_GET[url]";
    $output = "";
    if ( $rss = @simplexml_load_file( $url ) ) {
        foreach ( $rss->channel->item as $item ) {
            $output .= "<h2>{$item->title}</h2>";
            $output .= "{$item->description}";
        }
        echo utf8_decode ("<div class='headlines'>{$output}</div>");
    } else {
        echo "<div>Auslesen nicht erfolgreich! URL des Feeds ├╝berpr├╝fen!</div>";
    }
} else {
   echo "<form action='feedreader.php' method='get'><input type='text' name='url' value='URL des Feeds' id='input' /><input type='submit' id='button' /></form>";
}

?>

Das ist der komplette Code der daf├╝r ben├Âtigt wird ­čÖé

Als erstes wird geprüft ob der URL-Parameter url gesetzt ist.
Wenn er das nicht ist wird ein Formular ausgegeben in das man die Feed-Url eintragen soll und das diese URL dann mittels URL-Parameter weitergibt.
Ist er gesetzt werden erstmal die Variablen $url und $output initialisiert.
$url┬áenth├Ąlt nur der ├ťbersicht halber den URL-Parameter $_GET[url], $output wird zur Verhinderung von Fehlermeldungen leer initialisiert.

Dann kommt eine if-Schleife die lediglich der Kontrolle dient ob das Auslesen des Feeds mit simplexml_load_file() geklappt hat.

Ist dies nicht der Fall wird die Fehlermeldung „Auslesen nicht erfolgreich! URL des Feeds ├╝berpr├╝fen!“ ausgegeben.

Klappt das Auslesen mit simplexml_load_file() kommt eine foreach-Schleife.
Doch was macht simplexml_load_file() eigentlich?
simplexml_load_file() liest eine XML-Datei automatisch aus und erstellt daraus ein Objekt.

Da sich bei einem RSS-Feed alle wichtigen Inhalte  in der Item-Hirarchieebene befinden kann man diese nun über $rss->channel->item abrufen.
Allerdings w├╝rde man so nur den neuesten Eintrag ausw├Ąhlen weshalb man diesen Vorgang immer wieder wiederholen muss.
Diesem Zweck dient die foreach-Schleife.
Foreach hei├čt auf Deutsch f├╝r jedes/n, das hei├čt f├╝r f├╝r jedes item in der RSS-Datei wird der folgende Code-Block durchgef├╝hrt.

In der Variable $outpout┬áwerden nun alle ├ťberschriften, Beschreibungen und Links gesammelt und nach der foreach-Schleife ausgegeben.

 

Kommentar verfassen