PHP ਅਤੇ AJAX RSS ਰੀਡਰ

RSS ਰੀਡਰ RSS Feed ਦੇ ਪੜ੍ਹਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ。

RSS ਨਿਊਜ਼ ਅਤੇ ਅੱਪਡੇਟਸ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਦੇਖਣ ਲਈ ਹੈ。

AJAX RSS ਰੀਡਰ

ਹੇਠਲੇ AJAX ਇੰਸਟੈਂਸ ਵਿੱਚ ਅਸੀਂ ਇੱਕ RSS ਰੀਡਰ ਦਿਖਾਵਾਂਗੇ ਜਿਸ ਨਾਲ RSS ਦਾ ਕੰਟੈਂਟ ਨਵੀਨਤਾ ਬਿਨਾ ਵੈੱਬਸਾਈਟ ਨੂੰ ਲੋਡ ਕੀਤਾ ਜਾਵੇਗਾ。

ਹੇਠਲੇ ਲਿਸਟ ਬਾਕਸ ਵਿੱਚ ਇੱਕ RSS ਨਿਊਜ਼ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਚੁਣੋ

ਇੱਕ RSS-Feed ਚੁਣੋ:

ਇੱਥੇ RSS Feed ਦੇਖੋ。

ਇਸ ਵਿੱਚ ਤਿੰਨ ਤੰਤਰ ਹਨ:

  • ਸਧਾਰਨ HTML ਫਾਰਮ
  • JavaScript
  • PHP ਪੰਨਾ

HTML ਫਾਰਮ

ਇਹ HTML ਪੰਨਾ ਹੈ। ਇਹ ਇੱਕ ਸਧਾਰਨ HTML ਫਾਰਮ ਅਤੇ ਇੱਕ JavaScript ਫਾਇਲ ਦੇ ਲਿੰਕ ਨੂੰ ਸਮਾਵੇਸਦਾ ਹੈ:

<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 ਇੱਥੇ ਸੂਚੀਬੱਧ ਹੋਵੇਗਾ.</b></div></p>
</body>
</html>

ਉਦਾਹਰਣ ਸਪਸ਼ਟੀਕਰਣ - HTML ਫਾਰਮ

ਜਿਵੇਂ ਤੁਸੀਂ ਦੇਖਿਆ ਹੋਵੇਗਾ, ਉੱਚੇ ਵਾਲੇ HTML ਪੇਜ ਵਿੱਚ ਇੱਕ ਸਧਾਰਨ HTML ਫਾਰਮ ਹੈ, ਜਿਸ ਵਿੱਚ ਇੱਕ ਗਿਆਰਾ ਹੈ

ਫਾਰਮ ਦਾ ਕੰਮ ਇਹ ਹੈ:

  1. ਜਦੋਂ ਯੂਜ਼ਰ ਗਿਆਰਾ ਵਿੱਚ ਵਿਕਲਪ ਚੁਣੇ ਹੋਣ, ਤਾਂ ਇਕੱਠੇਰੇ ਹੋਵੇਗਾ
  2. ਜਦੋਂ ਇਕੱਠੇਰੇ ਹੋਇਆ ਹੋਵੇ, showRSS() ਫੰਕਸ਼ਨ ਚਲਾਇਆ ਜਾਵੇਗਾ

ਫਾਰਮ ਦੇ ਨਾਲ ਇੱਕ <div> ਨਾਮ "rssOutput" ਹੈ. ਇਹ showRSS() ਫੰਕਸ਼ਨ ਵੱਲੋਂ ਵਾਪਸ ਦਿੱਤੇ ਗਏ ਡਾਟਾ ਦਾ ਪਲੇਸਹੋਲਡਰ ਵਜੋਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ.

JavaScript

JavaScript ਕੋਡ "getrss.js" ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਗਿਆ ਹੈ, ਜੋ HTML ਦਸਤਾਵੇਜ਼ ਨਾਲ ਜੁੜਿਆ ਹੈ:

var xmlHttp
function showRSS(str)
 { 
 xmlHttp=GetXmlHttpObject()
 if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  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 آر ایس ایس فید کو جس کو منتخب کیا گیا ہے، جو کا دکھائے گا
  2. منتخب آر ایس ایس فید کا ایکسمل ڈوم آوائیجنٹ بنایا جائے گا
  3. آر ایس ایس چینل کا عناصر نکالا اور نکالا جائے گا
  4. تین پچھلئی آر ایس ایس پروجیکٹ میں عناصر کو گزاریا اور نکالا جائے گا، اور نکالا جائے گا