PHP RSS Reader

RSS Reader
Съдържа 3 файла:
1. Проста HTML форма
2. JavaScript
3.PHP

HTML форма
Това е HTML файла, съдържа проста HTML форма и връзка към JavaScript-a.


<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>


JavaScript кода (getrss.js)



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

{

// Firefox, Opera 8.0+, Safari

xmlHttp=new XMLHttpRequest();

}

catch (e)

{

// Internet Explorer

try

{

xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

}

catch (e)

{

xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

}

}

return xmlHttp;

}


PHP файлът (getrss.php)



<?php

//get the q parameter from URL

$q=$_GET["q"];



//find out which feed was selected

if($q=="Google")

{

$xml=("[url]http://news.google.com/news?ned=us&topic=h&output=rss[/url]");

}

elseif($q=="MSNBC")

{

$xml=("[url]http://rss.msnbc.msn.com/id/3032091/device/rss/rss.xml[/url]");

}



$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>");

}

?>


DEMO

Източник: http://w3schools.com

Script By MGDev