Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich RSS/Atom-Feeds in PHP mit SimpleXML effizient analysieren?
RSS-/Atom-Feeds mit PHP analysieren
Beim Parsen von RSS- oder Atom-Feeds mit Magpie RSS ist es wichtig, alternative Optionen in Betracht zu ziehen, die damit umgehen können wohlgeformte Feeds. Eine solche Option ist SimpleXML.
SimpleXML ist in PHP integriert und bietet eine benutzerfreundliche Struktur zum Parsen von XML-Dokumenten. Es erkennt XML-Fehler und warnt bei auftretenden Problemen. Um solche Fehler zu beheben, können Sie HTML Tidy verwenden, um die Quelle zu bereinigen.
Hier ist eine Basisklasse, die SimpleXML zum Parsen von RSS-Feeds verwendet:
class BlogPost { public $date; public $ts; public $link; public $title; public $text; } class BlogFeed { public $posts = []; public function __construct($file_or_url) { $file_or_url = $this->resolveFile($file_or_url); if (!$x = simplexml_load_file($file_or_url)) return; foreach ($x->channel->item as $item) { $post = new BlogPost(); $post->date = (string)$item->pubDate; $post->ts = strtotime($item->pubDate); $post->link = (string)$item->link; $post->title = (string)$item->title; $post->text = (string)$item->description; $post->summary = $this->summarizeText($post->text); $this->posts[] = $post; } } private function resolveFile($file_or_url) { if (!preg_match('|^https?:|', $file_or_url)) $feed_uri = $_SERVER['DOCUMENT_ROOT'] .'/shared/xml/'. $file_or_url; else $feed_uri = $file_or_url; return $feed_uri; } private function summarizeText($summary) { $summary = strip_tags($summary); $max_len = 100; if (strlen($summary) > $max_len) $summary = substr($summary, 0, $max_len) . '...'; return $summary; } }
Durch die Verwendung von SimpleXML und den Umgang mit XML Fehler können Sie sowohl RSS- als auch Atom-Feeds effektiv mit PHP analysieren.
Das obige ist der detaillierte Inhalt vonWie kann ich RSS/Atom-Feeds in PHP mit SimpleXML effizient analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!