PHP 和 AJAX RSS 阅读器

RSS రీడర్ని ఉపయోగిస్తారు RSS ఫీడ్ని చదవడానికి.

RSS నుండి న్యూస్ మరియు అప్డేట్లను త్వరగా విచారించడానికి అనువు కాగలదు.

AJAX RSS రీడర్

క్రింది AJAX ఉదాహరణలో, మేము ఒక RSS రీడర్ని ప్రదర్శిస్తున్నాము, ఇది RSS నుండి కంటెంట్ను ఫ్రీస్క్రోల్ లేకుండా వెబ్ పేజీలో పెట్టుతుంది.

క్రింది జాబితాలో ఒక RSS న్యూస్ సబ్స్క్రిప్షన్ ని ఎంచుకొనండి

ఒక RSS-Feed ని ఎంచుకొనండి:

ఇక్కడ లిస్ట్ చేయబడుతుంది RSS ఫీడ్.

ఈ ఉదాహరణలో మూడు మూలకాలు ఉన్నాయి:

  • సాధారణ HTML ఫారమ్
  • JavaScript
  • PHP 页面

HTML ఫారమ్

ఈ హైల్లెట్ పేజీ. ఇది ఒక సాధారణ హైల్లెట్ ఫారమ్ మరియు జావాస్క్రిప్ట్ ఫైల్ యొక్క లింక్ని కలిగి ఉంది:

<html>
<head>
<script type="text/javascript" src="getrss.js"></script>
</head>
<body>
<form> 
Select an RSS-Feed:
<select onchange="showRSS(this.value)">
<option value="Google">Google News</option>
<option value="MSNBC">MSNBC News</option>
</select>
</form>
<p><div id="rssOutput">
<b>RSS Feed will be listed here.</b></div></p>
</body>
</html>

ఉదాహరణ వివరణ - HTML ఫారమ్

మీరు చూసినట్లు ఉంది, పైన ఉన్న HTML ఫారమ్లో ఒక సాధారణ HTML డ్రాప్ డౌన్ మెనూ ఉంది.

ఫారమ్ పనిచేయడం ఇలా ఉంటుంది:

  1. వినియోగదారు డ్రాప్ డౌన్ మెనూలో ఎంపిక చేసినప్పుడు, ఒక ఇవెంట్ తరలించబడుతుంది
  2. ఇవపైన ఇంటర్నెట్ ఎక్స్ప్లోరర్ పేజీలో ప్రతిస్పందన కారణంగా, showRSS() ఫంక్షన్ అమలు చేయబడుతుంది

ఫారమ్లో క్రిందన ఉన్న "rssOutput" పేరు కలిగిన ఒక <div>. ఇది showRSS() ఫంక్షన్ ద్వారా తిరిగివచ్చే డాటా యొక్క ప్లేస్ హోల్డర్ గా ఉపయోగించబడుతుంది.

JavaScript

JavaScript కోడ్ "getrss.js" లో నిల్వ చేయబడింది, ఇది HTML డాక్యుమెంట్తో కలిసి ఉంటుంది:

var xmlHttp
function showRSS(str)
 { 
 xmlHttp = GetXmlHttpObject()
 if (xmlHttp == null)
  {
  alert("బ్రౌజర్ HTTP రిక్వెస్ట్ మద్దతు లేదు")
  return
  }
 var url = "getrss.php"
 url = url + "?q=" + str
 url = url + "&sid=" + Math.random()
 xmlHttp.onreadystatechange = stateChanged 
 xmlHttp.open("GET", url, true)
 xmlHttp.send(null)
 }
function stateChanged() 
 { 
 if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
  { 
  document.getElementById("rssOutput")
  .innerHTML = xmlHttp.responseText 
  } 
 }
function GetXmlHttpObject()
{
var xmlHttp = null;
try
 {
 // ఫైర్ఫాక్స్, ఓపెరా 8.0+, సఫారీ
 xmlHttp = new XMLHttpRequest();
 }
catch (e)
 {
 // ఇంటర్నెట్ ఎక్స్ప్లోరర్
 try
  {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}

ఉదాహరణ వివరణ:

stateChanged() మరియు GetXmlHttpObject ఫంక్షన్లు మరియు PHP 和 AJAX 请求 这一节中的例子相同。

showRSS() 函数

每当在下拉框中选择选择时,该函数就会执行:

  1. 定义发送到服务器的 url (文件名)
  2. 把参数 (q) 添加到 url,参数内容是下拉框中的被选项
  3. 添加一个随机数,以防止服务器缓存文件
  4. 调用 GetXmlHttpObject 函数来创建 XMLHTTP 对象,并告知该对象在触发一个改变时去执行 stateChanged 函数
  5. 通过给定的 url 来打开 XMLHTTP
  6. 把 HTTP 请求发动到服务器

PHP 页面

调用 JavaScript 代码的服务器页面是名为 "getrss.php" 的 PHP 文件:

<?php
//get the q parameter from URL
$q=$_GET["q"];
//find out which feed was selected
if($q=="Google")
 {
 $xml=("http://news.google.com/news?ned=us&topic=h&output=rss");
 }
elseif($q=="MSNBC")
 {
 $xml=("http://rss.msnbc.msn.com/id/3032091/device/rss/rss.xml");
 }
$xmlDoc = new DOMDocument();
$xmlDoc->load($xml);
//get elements from "<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;
//output elements from "<channel>"
echo("<p><a href='" . $channel_link
 . "'>" . $channel_title . "</a>");
echo("<br />");
echo($channel_desc . "</p>");
//get and output "<item>" elements
$x=$xmlDoc->getElementsByTagName('item');
for ($i=0; $i<=2; $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>");
 }
?>

ఉదాహరణ వివరణ:

జావాస్క్రిప్ట్ నుండి ఒక ఎంపిక పంపబడితే జరిగే సంఘటన:

  1. PHP ఎంపికచేసిన RSS ఫీడ్ని గుర్తించండి
  2. ఎంపికచేసిన RSS ఫీడ్ని కోసం XML DOM ఆబ్జెక్ట్ను సృష్టించండి
  3. RSS ప్రసారాన్ని నుండి అంశాలను గుర్తించి, అవి ఉద్భవించని ప్రదర్శించండి
  4. మూడు RSS ప్రాజెక్టులలో ఉన్న అంశాలను గుర్తించి, అవి ఉద్భవించని ప్రదర్శించండి