Dienstag, 4. November 2025

Mal schnell einen XML Feed zu parsen

Eine einfache aber effektive Art einen XML Feed zu parsen.

Der folgende Quellcode bietet Ratz Fatz die gewünschten Ergebnisse, die dann nur noch ein wenig gestalterisch zu designen sind.

<?php

$feedUrl = 'https://news.google.com/rss/search?hl=de&gl=DE&ceid=DE%3Ade&oc=11&q=adventskalender%202025'; // Ersetzen Sie dies durch die Feed-URL

// 1. Feed herunterladen
$feedContent = file_get_contents($feedUrl);

if ($feedContent === false) {
    echo 'Fehler beim Laden des Feeds.';
} else {
    // 2. XML-Daten laden
    $xml = simplexml_load_string($feedContent);

    if ($xml === false) {
        echo 'Fehler beim Parsen des XML-Feeds.';
    } else {
        // 3. Durch die Artikel iterieren
        foreach ($xml->channel->item as $item) {
            $title = $item->title;
            $link = $item->link;
            $description = $item->description;
            $pubDate = $item->pubDate;

            // 4. Artikel anzeigen (z.B. als HTML)
            echo "<h3><a href=\"$link\">$title</a></h3>";
            echo "<p>$description</p>";
            echo "<small>Veröffentlicht am: $pubDate</small>";
            echo "<hr>";
        }
    }
}

?> 

NSFW ≙ Not save for work ≙ Unsere Webs

NSFW ≙ Not save for work ≙ Unsere Webs

Eigentlich mag ich so etwas gar nicht sagen, wenn ich ich so viel Zeit damit verbracht habe unsere Webs zu relaunchen, aber es ist leider so! Unsere Webs sind "Not save for work"

SimplePie

Das was ich selbst zusammengebastelt habe, funtioniert ja recht ordentlich, aber simplepie macht irgendwann aus unerfindlichen Gründen gar nichts mehr und fängt nach ein paar Stunden Ruhepause wieder an einwandfrei zu funktionieren ohne irgendeinen Hinweis was sich denn jetzt verändert hat für Ihn.

QrCoder

Der QrCoder will, wenn keine Datei und nur ein Verzeichnis übergeben wird, auch verdammt lange nichts machen, wobei er nach den obligatorischen 30 Sekunden Suche nach einer Lösung wieder seine Arbeit einwandfrei aufnimmt. Werden beim Aufruf der Seite Übergabeparameter übergeben isses "Just the same!" leider! Wobei dies auch den Vorteil hat, daß die Versuche als nicht funktionierende Bilddateien dennoch protokolliert werden und ich so feststellen konnte was manche Besucher den Seiten unseres Webs noch hinzudichten um irgendwelche verborgene Hintertürchen in unseren Webs zu öffnen.

Im Moment versuche ich mir mit folgenden Codeschnippseln Abhilfe zu verschaffen:

<?php
    $dateiname_mit_endung = basename($_SERVER['PHP_SELF']);
    $dateiname_ohne_endung = basename($dateiname_mit_endung, '.php');    
    $dieser_qrcode = $dateiname_ohne_endung.'.png';
    if (file_exists('temp/'.$dieser_qrcode)) 
{ echo '<img src="temp/'.$dieser_qrcode.'" alt="QrCode '.$fullUrl.'" title="Mobil weitersurfen mit dieser Seite &bdquo;'.$fullUrl.'&ldquo;">'; } 
    else { include ("../module/qrcode_generieren.php"); }
?> 

Damit wird falls bereits ein QrCode besteht, kein Neuer QrCode erstellt. An den Lösungen im PHP Paket des QrCodes arbeite ich noch.