Maison >développement back-end >tutoriel php >Comment puis-je analyser efficacement les flux RSS/Atom en PHP à l'aide de SimpleXML ?
Analyse des flux RSS/Atom avec PHP
Lors de l'analyse des flux RSS ou Atom à l'aide de Magpie RSS, il est important d'envisager des options alternatives qui peuvent gérer aliments bien formés. L'une de ces options est SimpleXML.
SimpleXML, intégré à PHP, offre une structure conviviale pour analyser les documents XML. Il détecte les erreurs XML et avertit en cas de problème. Pour corriger de telles erreurs, vous pouvez envisager d'utiliser HTML Tidy pour nettoyer la source.
Voici une classe de base qui utilise SimpleXML pour analyser les flux RSS :
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; } }
En utilisant SimpleXML et en gérant XML erreurs, vous pouvez analyser efficacement les flux RSS et Atom en utilisant PHP.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!