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的PHP XML类
Oct 09 PHP
php 深入理解strtotime函数的使用详解
May 23 PHP
Yii PHP Framework实用入门教程(详细介绍)
Jun 18 PHP
PHP判断表单复选框选中状态完整例子
Jun 24 PHP
分享最受欢迎的5款PHP框架
Nov 27 PHP
分享常见的几种页面静态化的方法
Jan 08 PHP
深入理解PHP之OpCode原理详解
Jun 01 PHP
php 获取文件行数的方法总结
Oct 11 PHP
php之header的不同用法总结(实例讲解)
Nov 28 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
May 09 PHP
PHP接入微信H5支付的方法示例
Oct 28 PHP
php远程请求CURL案例(爬虫、保存登录状态)
Apr 01 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中如何判断一个网页请求是ajax请求还是普通请求
2013/08/10 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
php数组生成html下拉列表的方法
2015/07/20 PHP
Yii2中datetime类的使用
2016/12/17 PHP
网页图片延时加载的js代码
2010/04/22 Javascript
jQuery ajax BUG:object doesn't support this property or method
2010/07/06 Javascript
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
javascript操作字符串的原生方法
2014/12/22 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
你有必要知道的25个JavaScript面试题
2015/12/29 Javascript
用JS动态设置CSS样式常见方法小结(推荐)
2016/11/10 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
weui框架实现上传、预览和删除图片功能代码
2017/08/24 Javascript
Cpage.js给组件绑定事件的实现代码
2017/08/31 Javascript
利用node.js如何创建子进程详解
2017/12/09 Javascript
Vue精简版风格指南(推荐)
2018/01/30 Javascript
用Vue写一个分页器的示例代码
2018/04/22 Javascript
nodejs require js文件入口,在package.json中指定默认入口main方法
2018/10/10 NodeJs
Python连接数据库学习之DB-API详解
2017/02/07 Python
基于Django模板中的数字自增(详解)
2017/09/05 Python
python和ruby,我选谁?
2017/09/13 Python
Python中django学习心得
2017/12/06 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
2018/04/28 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
python归并排序算法过程实例讲解
2020/11/04 Python
AVI-8手表美国官方商店:AVI-8 USA
2019/04/10 全球购物
我们的节日清明节活动总结
2014/04/30 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
圣诞晚会主持词
2015/07/01 职场文书
导游词之苏州寒山寺
2019/12/05 职场文书
带你彻底理解JavaScript中的原型对象
2021/04/14 Javascript
JavaScript实现栈结构详细过程
2021/12/06 Javascript