RSS-Feed: Abrufen
Dieses Skript ruft einen externe Newsfeed ab.
- Querverweise
Das Skript
Stand: 21.10.2022
<?php $wo = parse_url($feed_url); $feedcache_path = __DIR__.'/'.$wo["host"].'_cache.html'; // Wie alt in Sekunden darf der Cache sein? (1800 s entsprechen einer halben Stunde) // $feedcache_max_age = 1800; $feedcache_max_age = 1800; // Wie viele Einträge sollen angezeigt werden? $max_entries = 5; if(!file_exists($feedcache_path) or filemtime($feedcache_path) < (time() - $feedcache_max_age)) { $xml = simplexml_load_string(file_get_contents($feed_url)); $output = '<sub>Die '.(int)$max_entries.' neusten Artikel bei</sub><h3><a class="rrl" target="_blank" href="'.htmlspecialchars($xml->channel->link).'">'.htmlspecialchars($xml->channel->title).'</a></h3><hr/>'.PHP_EOL; $entries = $xml->channel->item; $counter = 0; // $output .= '<ul>'; foreach($entries as $root) { $counter++; // Ausgabe nach x Einträgen beenden: if($counter > $max_entries) { break; } $date = date('d.m.Y', strtotime($root->pubDate)); // Anreißertext: $description = strip_tags($root->description); $output .= '<h4><a class="rrl" href="'.htmlspecialchars($root->link).'" target="_blank" title="In neuem Fenster/Tab öffnen">'.htmlspecialchars($root->title).'</a></h4>'.PHP_EOL; $output .= '<p>'.$description.' <sub>('.htmlspecialchars($date).')</sub></p>'.PHP_EOL; } $output .= '<hr/>'; echo $output; file_put_contents($feedcache_path, $output); } else { echo file_get_contents($feedcache_path); } ?>