RSS reader is used to read RSS feeds. This article provides a basic explanation of it.
Explanation of examples - HTML page
When the user selects an RSS-feed in the above drop-down list, a function named "showRSS()" will be executed . This function is triggered by the "onchange" event:
<html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</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>
showRSS() function will perform the following steps:
Check whether any RSS-feed is selected
Create an XMLHttpRequest object
Create a function that is executed when the server response is ready
Send a request to a file on the server
Please note the parameter (q) added to the end of the URL ( Contains the contents of the drop-down list)
PHP file
File rss_demo.xml.
The server page called in the above paragraph through JavaScript is a PHP file named "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>");}?>
When the RSS feed request is sent from JavaScript to PHP file, will happen:
Check which RSS feed is selected
Create a new XML DOM object
Load the RSS document in the xml variable
Extract and output elements from the channel element
Extract and output elements from the item element
This article explains the relevant knowledge points of the AJAX RSS reader. Please pay attention to more learning materials. You can watch it on php Chinese website.
Related recommendations:
PHP Example-AJAX Real-time Search Related Knowledge
About PHP Example-AJAX and XML Interaction
About PHP - Interaction between AJAX and MySQL
The above is the detailed content of Related knowledge points about AJAX RSS reader. For more information, please follow other related articles on the PHP Chinese website!