Suatu Cara Mudah untuk Menampilkan sebuah RSS Feed dengan PHP


RSS feed adalah di mana-mana, dan kadang-kadang itu adalah ide yang baik untuk menampilkan satu untuk menjaga orang-orang di lingkaran posting penting dari situs Anda, atau situs Anda berpikir mungkin relevan. Untungnya, PHP 5 memperkenalkan ekstensi DOM yang membuatnya mudah untuk bekerja dengan dokumen XML. Sekarang yang dibutuhkan adalah hanya sedikit kecil kode untuk mengambil dan menampilkan feed.
Kode berikut pertama akan membuat new DOMDocument() di mana kita akan memuatWordPress.org RSS feed.

$rss = new DOMDocument(); $rss->load('http://wordpress.org/news/feed/');

Kemudian kita akan keluar tunggal unsur-unsur tertentu dan menempatkan mereka ke dalam sebuah array. Untuk contoh ini, saya hanya akan mengambil judul, deskripsi, Link dan diterbitkan pada tanggal.

$feed = array(); foreach ($rss->getElementsByTagName('item') as $node) { $item = array ( 'title' => $node->getElementsByTagName('title')->item(0)->nodeValue, 'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue, 'link' => $node->getElementsByTagName('link')->item(0)->nodeValue, 'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue, ); array_push($feed, $item); }

Akhirnya, kita atur untuk menampilkan 5 posting di layar dengan judul yang menghubungkan langsung ke pos aslinya.

$limit = 5; for($x=0;$x<$limit;$x++) { $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']); $link = $feed[$x]['link']; $description = $feed[$x]['desc']; $date = date('l F d, Y', strtotime($feed[$x]['date'])); echo '<p><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong><br />'; echo '<small><em>Posted on '.$date.'</em></small></p>'; echo '<p>'.$description.'</p>'; }

Menempatkan semuanya bersama-sama dan ini adalah apa yang Anda dapatkan:

  1. <?php
  2. $rss = new DOMDocument();
  3. $rss->load('http://wordpress.org/news/feed/');
  4. $feed = array();
  5. foreach ($rss->getElementsByTagName('item') as $node) {
  6. $item = array (
  7. 'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
  8. 'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
  9. 'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
  10. 'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
  11. );
  12. array_push($feed, $item);
  13. }
  14. $limit = 5;
  15. for($x=0;$x<$limit;$x++) {
  16. $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
  17. $link = $feed[$x]['link'];
  18. $description = $feed[$x]['desc'];
  19. $date = date('l F d, Y', strtotime($feed[$x]['date']));
  20. echo '<p><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong><br />';
  21. echo '<small><em>Posted on '.$date.'</em></small></p>';
  22. echo '<p>'.$description.'</p>';
  23. }
  24. ?>
Previous
Next Post »