Sie haben JavaScript deaktiviert. Vermutlich sind Sie ein Kollege und wollen nur sehen, ob meine Website auch ohne JavaScript funktioniert.
Andernfalls: Bitte aktivieren Sie JavaScript!

webdesign weisshart Startseite

zurück zum Standard-Style

Eine RSS-Feed-Vorschau erstellen

RSS Icon

Ich nutze RSS-Feeds sehr intensiv. Im Feed-Reader Feedly. Ich habe überwiegend Nachrichtenseiten abonniert und kann mir so schnell einen Überblick über die aktuellen Nachrichten des Tages verschaffen. Auch Blogs, z. B. WordPress, bieten zumeist einen RSS-Feed an. Da ich kein CMS nutze, sondern alle Seiten manuell code, erstelle ich auch den RSS-Feed bzw. die zugrunde liegende XML-Datei manuell.
Soweit, so gut.

Nun möchte ich natürlich, dass mein RSS-Feed auch gelesen bzw. abonniert wird. Aber wie findet ein „Fan” von Webdesign Weisshart die Adresse meines Feeds? (Sie lautet: https://webdesign.weisshart.de/artikel_feed.xml.)

Um Interessenten die Suche zu ersparen, habe ich auf der Startseite eine Reihe von Informationen eingefügt.

Die Artikel im Feedreader lesen

Vorschau des RSS-Feeds: Icon Feed
Den RSS-Feed in Feedly abonnieren: Icon Feedly

Alternativ: Die Adresse des Feeds kopieren und manuell in deinen Feedreader einfügen:

Der Link zu Feedly ist straightforward:
https://feedly.com/i/subscription/feed/https://webdesign.weisshart.de/artikel_feed.xml
ebenso die Angabe der URL zum copy & paste,
aber …

Wie wird die Vorschau erstellt?

Bis vor einigen Jahren haben Browser beim Aufruf eines korrekt formatierten xml-files eine Feed-Vorschau angezeigt. Leider ist dieses Feature verschwunden. Beim Aufruf des xml-files wird jetzt der Quelltext angezeigt (warum wohl?).
Eine Zeit lang gab es entsprechende Browser-Addons, die aber heute alle nicht mehr funktionieren. (Ausnahme: Firefox )

Eine aktuell mögliche Lösung wäre https://rss.bloople.net/
Mit diesem Online-Tool kann man einen Link erzeugen, der dann eine Vorschau anzeigt: https://rss.bloople.net/?url=https://webdesign.weisshart.de/artikel_feed.xml
Aber damit mache ich mich wieder von einem externen Dienst abhängig, mit allen bekannten Nachteilen und Einschränkungen: Verfügbarkeit? Langsam, Datenschutz? usw. usf.

Meine eigene Lösung

Vor vielen Jahren habe ich eine PHP-Funktion vorgestellt, die RSS-Feeds komfortabel als html anzeigt: rss2html.php Was liegt näher, als diese Funktion für meinen Zweck zu verwenden. Allerdings musste ich eine kleine Anpassung am Code vornehmen, um auch die Vorschaubilder korrekt anzuzeigen. (Wie seit einiger Zeit üblich, ließ ich mir dabei von ChatGPT helfen.)

Der angepasste PHP-Code:

<?php // Hinweis: allow_url_fopen muss auf on gesetzt sein $allowurlfopen = ini_get('allow_url_fopen'); if ($allowurlfopen != 1) { echo "In der php.ini ist allow_url_fopen ausgeschaltet. Mit dieser Einstellung funktioniert das Einlesen des Feeds leider nicht."; exit; } date_default_timezone_set("Europe/Berlin"); libxml_use_internal_errors(true); function rss2html($url,$anz,$length,$target) { $n=1; if ($target == 1) {$target = ' target="_blank"';} else {$target = '';} $output = '<ul>'; if ($rss = @simplexml_load_file($url)) { foreach($rss->channel->item as $item) { $title = str_replace ("& ","&amp; ",$item->title); $wort = explode(" ", $title); //erstes Wort if (!isset($wort[1])) { $wort[1] = null; } $output .= '<li class="item_link">'; $output .= '<h2><a href = "'.$item->link.'" '.$target.'>'.$item->title.'</a></h2> '; if (isset($item->pubDate)) { $output .= '<span class="it_date">'; $output .= date("d.m.Y H:i",strtotime($item->pubDate)).' Uhr</span><br>'; } $desc = (string)$item->description; // CDATA-HTML parsen $doc = new DOMDocument(); libxml_use_internal_errors(true); $doc->loadHTML('<?xml encoding="utf-8" ?><body>' . $desc . '</body>'); libxml_clear_errors(); // Erstes <img> extrahieren $img = ''; $imgTags = $doc->getElementsByTagName('img'); if ($imgTags->length > 0) { $imgSrc = $imgTags->item(0)->getAttribute('src'); $imgAlt = $imgTags->item(0)->getAttribute('alt'); $img = '<img src="' . htmlspecialchars($imgSrc) . '" alt="' . htmlspecialchars($imgAlt) . '">'; } // Text extrahieren (ohne das <img>) $text = ''; foreach ($doc->getElementsByTagName('body')->item(0)->childNodes as $node) { if ($node->nodeName !== 'img') { $text .= $doc->saveHTML($node); } } // Kürzen, wenn gewünscht if ($length && strlen(strip_tags($text)) > $length) { $text = strip_tags($text); $text = substr($text, 0, $length); $cut = strrpos($text, ' '); $text = substr($text, 0, $cut) . ' ...'; } // In Ausgabe übernehmen $output .= $img . '<p>' . $text . '</p>'; $output .= ' <span class="weiter"><a href="'.$item->link.'" '.$target.'>weiterlesen:&nbsp;"'.$wort[0].'&nbsp;'.$wort[1].'&nbsp;..."</a></span>'; $output .= '</li>'; if($n>=$anz){break;} $n++; } return $output.'</ul>'; } elseif ($rss === false) { echo "Laden des XML fehlgeschlagen\n"; foreach(libxml_get_errors() as $error) { echo "\t", $error->message; } } else {return "Fehler beim Einlesen der Datei $url";} } ?>

Aufruf des Feeds:

Die obige Funktion wird ganz einfach wie folgt aufgerufen. Übergeben werden als erster Parameter der URL des Feeds, als zweiter Parameter die Anzahl der maximal anzuzeigenden Nachrichten, und als dritter Parameter die max. Länge des angezeigten Textes (Zeichen), sowie als vierter Parameter 0, oder 1 für target="_blank", damit Links in einem neuen Tab/Fenster geöffnet werden.

<?php echo rss2html("http://webdesign.weisshart.de/artikel_feed.xml",100,500,1); ?>

Vorteile des eigenen PHP-Snippets gegenüber externen Viewern:

Nachtrag 04.07.2025

Ich habe das Script universell und portabel gemacht. hier online testen.
Kostenloser Download

Mit dem Download anerkennen Sie unsere Allgemeinen Geschäftsbedingungen.

Das Download-Archiv entpacken, und die darin enthaltene Datei wdw_reader.php auf den Webspace laden. fertig.

Copyright-Hinweis

Artikeltexte und Code-Snippets: Creative Commons  CC BY-SA 4.0
Medien (Bilder, Videos, Audios) sind evtl. urheberrechtlich geschützt.

1 Kommentar

  1. Robert Lender schrieb am Mittwoch, 02.07.25 22:54 Uhr:

    Danke für den Hinweis. Werde ich mal in meinem Blog ausprobieren.

Über Ihren Kommentar zu diesem Artikel freue ich mich.
Wenn Sie aber Fragen haben, und eine Antwort erwarten, nutzen Sie bitte das Supportforum! Die Nutzung des Forums ist auch ohne Registrierung möglich.

? Anweisungen zur Eingabe von BB Code Wenn Javascript verfügbar ist, können Sie die obigen Schaltflächen zum Einfügen der folgenden Steuercodes verwenden (an der Cursorposition oder um gegebenenfalls markierten Text):

[b]als wichtig <strong>[/b] hervorgehobener Text
[c]Quellcode[/c] oder optisch hervorgehobenes Zitat