Das Ding hab ich dann aber noch ein wenig weitergebastelt, damit auch andere was damit anfangen können. Die Feeds werden nach Datum sortiert und ausgegeben. Ein Klick auf das Dreieck vor dem Datum klappt den Eintrag auf, Klick auf den Titel führt zur Quelle.
Code: Alles auswählen
<html lang="de-DE">
<meta charset="UTF-8">
<title>0815 RSS-Reader</title>
</head>
<body>
<?php
//URL der Feeds -> nur RSS!
$feeds = array(
"https://domain.xyz/feed1/",
"https://domain.xyz/feed2/",
"https://domain.xyz/feed3/",
"https://domain.xyz/feed4/",
"https://domain.xyz/feed5/"
);
//Auslesen der Feeds
$entries = array();
foreach($feeds as $feed) {
$xml = simplexml_load_file($feed);
$entries = array_merge($entries, $xml->xpath("//item"));
}
//Sortieren nach Datum
usort($entries, function ($feed1, $feed2) {
return strtotime($feed2->pubDate) - strtotime($feed1->pubDate);
});
//Ausgabe der Inhalte
foreach($entries as $entry){
?>
<details>
<summary><?= strftime('%d.%m.%Y %H:%M', strtotime($entry->pubDate)) ?>: <a href="<?= $entry->link ?>" target="_blank"><?= $entry->title ?></a> (<?= parse_url($entry->link)['host'] ?>)</summary>
<p><?= $entry->description ?></p>
</details>
<?php
}
?>
</body>
</html>
Noch geplant:
- CSS, um das ganze Ding etwas "hübscher" zu machen
- Erkennung und Verarbeitung von Atom-Feeds (technisch gesehen fast das gleiche, nur die Struktur ist etwas anders.)
- eine Version, bei der die Feed-URL per Parameter anstatt im Quellcode übergeben werden (macht das Ganze flexibler einsetzbar)
- eine BBCode-Version für das phpBB, da das ja auch der Auslöser für das 0815-Ding war
irgendwann zwischen Januar und Dezember