php ajax非同步讀取rss文檔資料_php技巧

來源:互聯網
上載者:User

RSS(Really Simple Syndication)是一種描述和同步網站內容的格式,是使用最廣泛的XML應用。RSS搭建了資訊迅速傳播的一個技術平台,使得每個人都成為潛在的資訊提供者。

本文執行個體為大家分享了php ajax非同步讀取rss文檔資料的相關代碼,供大家參考,具體內容如下

代碼如下:

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程式設計有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.