Contoh PHP - Pembaca RSS AJAX

Contoh PHP - Pembaca RSS AJAX

Pembaca RSS digunakan untuk membaca Suapan RSS.

AJAX RSS Reader

Dalam contoh berikut, kami akan menunjukkan pembaca RSS yang melaluinya kandungan daripada RSS dipaparkan pada halaman web tanpa menyegarkan perkara berikut dimuatkan:

QQ图片20161010104158.png

Contoh penjelasan - halaman HTML

Apabila pengguna memilih RSS dalam senarai juntai bawah suapan di atas, fungsi bernama "showRSS()" akan dilaksanakan. Fungsi ini dicetuskan oleh acara "Onchange":

<html>
<head>
<meta charset="utf-8">
<title>php中文网</title>
<script>
function showRSS(str)
{
         if (str.length==0)
         {
                 document.getElementById("rssOutput").innerHTML="";
                 return;
                 }
         if (window.XMLHttpRequest)
         {
                 // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
                 xmlhttp=new XMLHttpRequest();
         }
         else
         {
                 // IE6, IE5 浏览器执行代码
                 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.onreadystatechange=function()
         {
                 if (xmlhttp.readyState==4 && xmlhttp.status==200)
                 {
                          document.getElementById("rssOutput").innerHTML=xmlhttp.responseText;
                 }
         }
         xmlhttp.open("GET","getrss.php?q="+str,true);
         xmlhttp.send();
}
</script>
</head>
<body>
 
<form>
<select onchange="showRSS(this.value)">
<option value="">选择一个 RSS-feed:</option>
<option value="rss">读取 RSS 数据</option>
</select>
</form>
<br>
<div id="rssOutput">RSS-feed 数据列表...</div>
</body>
</html>

Fungsi Tayangan () akan melaksanakan langkah berikut:

· Semak sama ada terdapat RSS-FEED dipilih

Cipta objek xmlhttprequest

<创> · Fungsi dicipta apabila respons pelayan sedia

· Hantar permintaan ke fail pada pelayan

Kandungan senarai juntai bawah)

Fail PHP

Fail rss_demo.xml.

Halaman pelayan yang dipanggil di atas melalui JavaScript ialah fail PHP bernama "getrss.php":

<?php
// rss 文件
$xml="rss_demo.xml";
 
$xmlDoc = new DOMDocument();
$xmlDoc->load($xml);
 
// 从 "<channel>" 中读取元素
$channel=$xmlDoc->getElementsByTagName('channel')->item(0);
$channel_title = $channel->getElementsByTagName('title')
->item(0)->childNodes->item(0)->nodeValue;
$channel_link = $channel->getElementsByTagName('link')
->item(0)->childNodes->item(0)->nodeValue;
$channel_desc = $channel->getElementsByTagName('description')
->item(0)->childNodes->item(0)->nodeValue;
 
// 输出 "<channel>" 中的元素
echo("<p><a href='" . $channel_link
  . "'>" . $channel_title . "</a>");
echo("<br>");
echo($channel_desc . "</p>");
 
// 输出 "<item>" 中的元素
$x=$xmlDoc->getElementsByTagName('item');
for ($i=0; $i<=1; $i++) {
         $item_title=$x->item($i)->getElementsByTagName('title')
         ->item(0)->childNodes->item(0)->nodeValue;
         $item_link=$x->item($i)->getElementsByTagName('link')
         ->item(0)->childNodes->item(0)->nodeValue;
         $item_desc=$x->item($i)->getElementsByTagName('description')
         ->item(0)->childNodes->item(0)->nodeValue;
         echo ("<p><a href='" . $item_link
         . "'>" . $item_title . "</a>");
         echo ("<br>");
         echo ($item_desc . "</p>");
}
?>

Apabila permintaan untuk suapan RSS dihantar daripada JavaScript ke fail PHP, apa yang akan berlaku ialah:

<检> · Semak Suapan RSS mana yang dipilih

· Cipta objek XML DOM baharu

· Muatkan dokumen RSS dalam pembolehubah XML

· Dari Saluran Ekstrak dan keluarkan elemen

· Ekstrak dan keluarkan elemen

daripada elemen item

Meneruskan pembelajaran
||
<html> <head> <meta charset="utf-8"> <title>php中文网</title> <script> function showRSS(str) { if (str.length==0) { document.getElementById("rssOutput").innerHTML=""; return; } if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码 xmlhttp=new XMLHttpRequest(); } else { // IE6, IE5 浏览器执行代码 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("rssOutput").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","getrss.php?q="+str,true); xmlhttp.send(); } </script> </head> <body> <form> <select onchange="showRSS(this.value)"> <option value="">选择一个 RSS-feed:</option> <option value="rss">读取 RSS 数据</option> </select> </form> <br> <div id="rssOutput">RSS-feed 数据列表...</div> </body> </html>
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!