Cara Terbaik Menghuraikan Suapan RSS/Atom dengan PHP
Magpie RSS ialah perpustakaan popular untuk menghuraikan suapan RSS dan Atom dalam PHP, tetapi ia diketahui gagal apabila menghadapi suapan yang cacat. Oleh itu, pilihan alternatif mungkin diperlukan.
Salah satu alternatif yang disyorkan ialah menggunakan fungsi SimpleXML terbina dalam PHP. SimpleXML menyediakan struktur intuitif untuk menghuraikan dokumen XML, termasuk suapan RSS dan Atom. Ia juga mengesan dan mengendalikan amaran dan ralat XML. Jika ralat berlaku, sumber suapan boleh dibersihkan menggunakan alat seperti HTML Tidy sebelum cuba menghuraikannya semula.
Berikut ialah kelas mudah menggunakan SimpleXML untuk menghuraikan suapan RSS:
class BlogPost { var $date; var $ts; var $link; var $title; var $text; } class BlogFeed { var $posts = array(); 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; // Create summary as a shortened body and remove images, // extraneous line breaks, etc. $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); // Truncate summary line to 100 characters $max_len = 100; if (strlen($summary) > $max_len) $summary = substr($summary, 0, $max_len) . '...'; return $summary; } }
Kelas ini menyediakan kaedah untuk memuatkan dan menghuraikan suapan RSS, mengekstrak dan menyimpan siaran individu dan meringkaskan teks siaran untuk tujuan paparan. Dengan menggunakan SimpleXML, kelas ini boleh mengendalikan dengan berkesan dan boleh dipercayai suapan RSS yang dibentuk dengan baik dan cacat.
Atas ialah kandungan terperinci Apakah Cara Terbaik untuk Menghuraikan Suapan RSS/Atom dalam PHP Menggunakan SimpleXML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!