php ajax异步读取rss文档数据


Posted in PHP onMarch 29, 2016

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程序设计有所帮助。

PHP 相关文章推荐
一个简单的MySQL数据浏览器
Oct 09 PHP
PHP 定界符 使用技巧
Jun 14 PHP
php 批量添加多行文本框textarea一行一个
Jun 03 PHP
PHP中SimpleXML函数用法分析
Nov 26 PHP
php读取csv数据保存到数组的方法
Jan 03 PHP
php使用cookie实现记住用户名和密码实现代码
Apr 27 PHP
再Docker中架设完整的WordPress站点全攻略
Jul 29 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 PHP
Swoole 5将移除自动添加Event::wait()特性详解
Jul 10 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
Oct 18 PHP
如何在PHP中使用数组
Jun 09 PHP
PHP反射基础知识回顾
Sep 10 PHP
详解PHP的Yii框架中的Controller控制器
Mar 29 #PHP
详解PHP匿名函数与注意事项
Mar 29 #PHP
php ajax实现文件上传进度条
Mar 29 #PHP
php $_SESSION会员登录实例分享
Jan 19 #PHP
PHP实现163邮箱自动发送邮件
Mar 29 #PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 #PHP
PHP创建word文档的方法(平台无关)
Mar 29 #PHP
You might like
php 删除目录下N分钟前创建的所有文件的实现代码
2013/08/10 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
2014/03/11 PHP
PHP 正则表达式小结
2015/02/12 PHP
PHP函数rtrim()使用中的怪异现象分析
2017/02/24 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
2019/08/06 PHP
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
javascript实现炫酷的拖动分页
2015/05/11 Javascript
JS字符串的切分用法实例
2016/02/22 Javascript
AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
2016/12/26 Javascript
全面总结Javascript对数组对象的各种操作
2017/01/22 Javascript
js, jQuery实现全选、反选功能
2017/03/08 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
2017/05/04 jQuery
微信小程序 scroll-view实现锚点滑动的示例
2017/12/06 Javascript
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
2018/01/24 Javascript
jquery实现搜索框功能实例详解
2018/07/23 jQuery
Angular2中监听数据更新的方法
2018/08/31 Javascript
js动态获取时间的方法分析
2019/08/02 Javascript
vue项目从node8.x升级到12.x后的问题解决
2019/10/25 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
Javascript异步流程控制之串行执行详解
2020/09/27 Javascript
详解微信小程序轨迹回放实现及遇到的坑
2021/02/02 Javascript
Python中__call__用法实例
2014/08/29 Python
详解python单例模式与metaclass
2016/01/15 Python
Python正则表达式非贪婪、多行匹配功能示例
2017/08/08 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
2018/04/23 Python
python从zip中删除指定后缀文件(推荐)
2019/12/05 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
美国在线纱线商店:Darn Good Yarn
2019/03/20 全球购物
Everlast官网:拳击、综合格斗和健身相关的体育用品
2020/08/03 全球购物
加拿大著名的奢侈品购物网站:SSENSE(支持中文)
2020/06/25 全球购物
村官工作鉴定评语
2014/01/27 职场文书
五一劳动节活动记录
2014/03/23 职场文书
领导干部廉政承诺书
2014/03/27 职场文书
离婚答辩状范文
2015/05/22 职场文书
python opencv检测直线 cv2.HoughLinesP的实现
2021/06/18 Python