RSS Feeds gibt es wie Sand am Meer. Fast jedes Blog oder CMS erzeugt auch einen Feed.
Wie wäre es, den Inhalt eines beliebigen Feeds auf der eigenen Homepage anzuzeigen? Automatisch aktualisiert!
Auf meiner Startseite zeige ich gleich 2 Feeds.
Den
Artikel-Feed
und den
Blog-Feed
Man kann diese Aufgabe mit einem Werkzeug wie MagpieRSS erledigen.
Es geht aber auch viel einfacher: mit folgendem kleinem PHP Script. Vermutlich das schlankste Script für diesen Zweck.
Erforderlich ist PHP ab Version 5, wegen der dort erstmals verfügbaren Funktion simplexml_load_file().
Diese Funktion an den Anfang der Seite.
<?php
function rss2html($url,$anz) {
$n=1;
$output = '<ul>';
if ($rss = @simplexml_load_file($url)) {
foreach($rss->channel->item as $item) {
$output .= '<li class="item_link">';
$output .= '<a href = "'.$item->link.'">'.$item->title.'</a> ';
$output .= '<span class="it_date"> - ';
$output .= date("d.m.Y",strtotime($item->pubDate)).'</span>';
$output .= '<br />'.$item->description;
//$output .= "<a href=\"{$item->link}\"> ...</a>";
$output .= '</li>';
if($n>=$anz){break;}
$n++;
}
return utf8_decode($output).'</ul>';
} else {return "<p>Fehler beim Einlesen der Datei $url</p>";}
}
?>
Die obige Funktion wird ganz einfach wie folgt aufgerufen. Übergeben werden als erster Parameter die URL des Feeds, und als zweiter Parameter die Anzahl der maximal anzuzeigenden Nachrichten.
<?php echo rss2html("http://webdesign.weisshart.de/artikel_feed.xml",4); ?>
Die Anzeige kann natürlich jetzt beliebig mit CSS gestylt werden.
Hinweis: Gegebenenfalls sind Urheberrechte des Feed-Erstellers zu beachten.
Fertig.
Über Ihren Kommentar oder Ihre Frage zu diesem Artikel freue ich mich. Ich behalte mir jedoch vor, Einträge wider die guten Sitten, unsinnige Einträge, oder Spam kommentarlos zu entfernen.
Nixsager schrieb am Montag, 05.10.09 11:05 Uhr:
Eigentlich genau das was ich gesucht habe!
Aber leider kann man in der Adressleiste nicht den RSS-Feed und die Anzahl der anzuzeigenden Einträge angeben!
Antwort:
1. Adressleiste? Das vorgestellte Script hat erst mal nichts mit der Adressleiste zu tun, sondern beschreibt, wie man einen Feed auf einer Webseite anzeigt.
2. Wenn du die Adresse eines Feeds
(z. B. http://webdesign.weisshart.de/artikel_feed.xml) in die Adressleiste eingibst, und der Browser kann Feeds direkt anzeigen (z. B. Opera) dann siehst du alle Einträge
Nixsager schrieb am Montag, 05.10.09 21:30 Uhr:
Zu 1.: Ich wollte den Feed und die Anzahl der Einträge als Variabeln wie in eine Forum übernehmen! (z.B. http://webdesign.weisshart.de/rss2html.p hp?url=http://webdesign.weisshart.de/art ikel_feed.xml&anz=10)
Zu 2. Genau das will ich ja vermeiden!
Was soll ich denn mit dem guten Script wenn der Browser die Feeds ja auch anzeigt!
Es gefällt mir so nicht!
Sorry für den unötigen(?) Post!