当前位置:首页 > PHP教程 > php应用 > 列表

php ajax异步读取rss文档数据

发布:smiling 来源: PHP粉丝网  添加日期:2019-11-05 15:12:39 浏览: 评论:0 

RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是使用最广泛的XML应用。RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。

本文实例为大家分享了php ajax异步读取rss文档数据的相关代码,供大家参考,具体内容如下.

index.html

  1. <script> 
  2.  
  3.  function showRSS(str) { 
  4.  
  5.  if (str.length==0) {  
  6.  
  7.   document.getElementById("output").innerHTML=""
  8.  
  9.   return; 
  10.  
  11.  }    
  12.  
  13.  if (window.XMLHttpRequest) { 
  14.  
  15.   xmlhttp=new XMLHttpRequest(); 
  16.  
  17.  } 
  18.  
  19.  else 
  20.  
  21.  { 
  22.  
  23.   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
  24.  
  25.  } 
  26.  
  27.  xmlhttp.onreadystatechange=function() { 
  28.  
  29.   if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
  30.  
  31.    document.getElementById("output").innerHTML=xmlhttp.responseText; 
  32.  
  33.   } 
  34.  
  35.  }    
  36.  
  37.  xmlhttp.open("GET","rss.php?q="+str,true); 
  38.  
  39.  xmlhttp.send(); 
  40.  
  41.  } 
  42.  
  43. </script> 
  44.  
  45.   
  46.  
  47.   
  48.  
  49. <p>Please Select an option to get RSS:</p>   
  50.  
  51. <form> 
  52.  
  53.  <select onchange="showRSS(this.value)"> 
  54.  
  55.  <option value="">Select an RSS-feed:</option> 
  56.  
  57.  <option value="cnn">CNN</option> 
  58.  
  59.  <option value="bbc">BBC News</option> 
  60.  
  61.  <option value="pc">PC World</option> 
  62.  
  63.  </select> 
  64.  
  65. </form> 
  66.  
  67. <br>   
  68.  
  69. <div id="output">RSS-feeds</div>   

rss.php

  1. <?php 
  2.  
  3.  $q=$_GET["q"];  
  4.  
  5.  if($q=="cnn") { 
  6.  
  7.   $xml=("http://rss.cnn.com/rss/cnn_topstories.rss"); 
  8.  
  9.  }  
  10.  
  11.  elseif($q=="bbc") { 
  12.  
  13.   $xml=("http://newsrss.bbc.co.uk/rss/newsonline_world_edition/americas/rss.xml"); 
  14.  
  15.  }  
  16.  
  17.  elseif($q="pcw"){ 
  18.  
  19.   $xml=("http://www.pcworld.com/index.rss"); 
  20.  
  21.  } 
  22.  
  23.  $xmlDoc = new DOMDocument(); 
  24.  
  25.  $xmlDoc->load($xml);  
  26.  
  27.  $channel=$xmlDoc->getElementsByTagName('channel')->item(0); 
  28.  
  29.  $channel_title = $channel->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue; 
  30.  
  31.  $channel_link = $channel->getElementsByTagName('link')->item(0)->childNodes->item(0)->nodeValue; 
  32.  
  33.  $channel_desc = $channel->getElementsByTagName('description')->item(0)->childNodes->item(0)->nodeValue; 
  34.  
  35.  echo("<p><a href="" . $channel_link . "">" . $channel_title . "</a>"); 
  36.  
  37.  echo("<br>"); 
  38.  
  39.  echo($channel_desc . "</p>"); 
  40.  
  41.  $x=$xmlDoc->getElementsByTagName('item'); 
  42.  
  43.  for ($i=0; $i<=2; $i++) { 
  44.  
  45.   $item_title=$x->item($i)->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue; 
  46.  
  47.   $item_link=$x->item($i)->getElementsByTagName('link') ->item(0)->childNodes->item(0)->nodeValue; 
  48.  
  49.   $item_desc=$x->item($i)->getElementsByTagName('description') ->item(0)->childNodes->item(0)->nodeValue; 
  50.  
  51.   echo ("<p><a href="" . $item_link . "">" . $item_title . "</a>"); 
  52.  
  53.   echo ("<br>"); 
  54. //phpfensi.com 
  55.   echo ($item_desc . "</p>"); 
  56.  
  57.  } 
  58.  
  59. ?> 

以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。

Tags: php ajax异步读取

分享到: