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 相关文章推荐
小偷PHP+Html+缓存
Nov 25 PHP
PHP中static关键字原理的学习研究分析
Jul 18 PHP
PHP对MongoDB[NoSQL]数据库的操作
Mar 01 PHP
PHP 使用MySQL管理Session的回调函数详解
Jun 21 PHP
百度ping方法使用示例 自动ping百度
Jan 26 PHP
php教程之phpize使用方法
Feb 12 PHP
php输入流php://input使用浅析
Sep 02 PHP
php实现通用的信用卡验证类
Mar 24 PHP
从wamp到xampp的升级之路
Apr 08 PHP
Thinkphp连表查询及数据导出方法示例
Oct 15 PHP
PHP设计模式之装饰器模式定义与用法详解
Apr 02 PHP
PHP yield关键字功能与用法分析
Jan 03 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
中东人咖啡哲学
2021/03/03 咖啡文化
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
PHP面向对象精要总结
2014/11/07 PHP
PHP常用处理静态操作类
2015/04/03 PHP
PHP使用CURL模拟登录的方法
2015/07/08 PHP
微信支付开发订单查询实例
2016/07/12 PHP
在Javascript中定义对象类别
2006/12/22 Javascript
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
JQuery获取浏览器窗口内容部分高度的代码
2012/02/24 Javascript
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
div模拟选择框示例代码
2013/11/03 Javascript
js修改原型的属性使用介绍
2014/01/26 Javascript
nodejs的10个性能优化技巧
2014/07/15 NodeJs
深入分析js的冒泡事件
2014/12/05 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
2015/09/11 Javascript
Adapter适配器模式在JavaScript设计模式编程中的运用分析
2016/05/18 Javascript
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
layui.js实现的表单验证功能示例
2017/11/15 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
JS中getElementsByClassName与classList兼容性问题解决方案分析
2019/08/07 Javascript
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
python enumerate函数的使用方法总结
2017/11/15 Python
python实现随机梯度下降法
2020/03/24 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
2019/10/12 Python
python中如何使用虚拟环境
2020/10/14 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
CSS3中Animation动画属性用法详解
2016/07/04 HTML / CSS
HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载
2012/10/20 HTML / CSS
计算机专业推荐信范文
2013/11/27 职场文书
加强作风建设心得体会
2014/10/22 职场文书
党的群众路线教育实践活动心得体会(企业)
2014/11/03 职场文书
贫困生助学金感谢信
2015/01/21 职场文书
抖音短视频(douyin)去水印工具的实现代码
2021/03/30 Javascript
python 逐步回归算法
2021/04/06 Python
Python打包为exe详细教程
2021/05/18 Python