RSS(Really Simple Syndication)는 웹사이트 콘텐츠를 설명하고 동기화하기 위한 형식으로, 가장 널리 사용되는 XML 애플리케이션입니다. RSS는 신속한 정보 전파를 위한 기술 플랫폼을 구축하여 모든 사람을 잠재적인 정보 제공자로 만듭니다.
이 기사의 예에서는 참조용으로 RSS 문서 데이터를 비동기식으로 읽는 php ajax 관련 코드를 공유합니다.
코드는 다음과 같습니다.
index.html
<html> <head> <script> function showRSS(str) { if (str.length==0) { document.getElementById("output").innerHTML=""; return; } if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("output").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","rss.php?q="+str,true); xmlhttp.send(); } </script> </head> <body> <p>Please Select an option to get RSS:</p> <form> <select onchange="showRSS(this.value)"> <option value="">Select an RSS-feed:</option> <option value="cnn">CNN</option> <option value="bbc">BBC News</option> <option value="pc">PC World</option> </select> </form> <br> <div id="output">RSS-feeds</div> </body> </html>
rss.php
<?php $q=$_GET["q"]; if($q=="cnn") { $xml=("http://rss.cnn.com/rss/cnn_topstories.rss"); } elseif($q=="bbc") { $xml=("http://newsrss.bbc.co.uk/rss/newsonline_world_edition/americas/rss.xml"); } elseif($q="pcw"){ $xml=("http://www.pcworld.com/index.rss"); } $xmlDoc = new DOMDocument(); $xmlDoc->load($xml); $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; echo("<p><a href='" . $channel_link . "'>" . $channel_title . "</a>"); echo("<br>"); echo($channel_desc . "</p>"); $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>"); } ?>
위 내용은 이 글의 전체 내용입니다. PHP 프로그래밍을 배우는 모든 분들께 도움이 되기를 바랍니다.