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伪造referer突破网盘禁止外连的代码
Jun 15 PHP
php 文件状态缓存带来的问题
Dec 14 PHP
php 变量定义方法
Jun 14 PHP
php截取utf-8中文字符串乱码的解决方法
Mar 29 PHP
PHP读取数据库并按照中文名称进行排序实现代码
Jan 29 PHP
php常用的安全过滤函数集锦
Oct 09 PHP
php最简单的删除目录与文件实现方法
Nov 28 PHP
常见PHP数据库解决方案分析介绍
Sep 24 PHP
PHP常见数组函数用法小结
Mar 21 PHP
Yii框架getter与setter方法功能与用法分析
Oct 22 PHP
Laravel框架之解决前端显示图片问题
Oct 24 PHP
PHP生成随机密码4种方法及性能对比
Dec 11 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
2019年漫画销量排行榜:鬼灭登顶 海贼单卷制霸 尾田盛赞鬼灭
2020/03/08 日漫
php中url函数介绍及使用示例
2014/02/13 PHP
php获取发送给用户的header信息的方法
2015/03/16 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
2017/04/05 PHP
PHP实现的简单AES加密解密算法实例
2017/05/29 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
2012/01/13 Javascript
JavaScript模板入门介绍
2012/09/26 Javascript
js绑定事件this指向发生改变的问题解决方法
2013/04/23 Javascript
使用纯javascript实现经典扫雷游戏
2015/04/23 Javascript
详解JavaScript的Polymer框架中的通知交互
2015/07/29 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
2016/08/15 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
vue 国际化 vue-i18n 双语言 语言包
2018/06/07 Javascript
使用微信小程序开发弹出框应用实例详解
2018/10/18 Javascript
JQuery常见节点操作实例分析
2019/05/15 jQuery
微信小程序版本自动更新的方法
2019/06/14 Javascript
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
解决python报错MemoryError的问题
2018/06/26 Python
Python 运行 shell 获取输出结果的实例
2019/01/07 Python
Python内置类型性能分析过程实例
2020/01/29 Python
html5中canvas学习笔记1-画板的尺寸与实际显示尺寸
2013/01/06 HTML / CSS
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
英国名牌服装购物网站:OD’s Designer
2019/09/02 全球购物
党支部公开承诺书
2014/03/28 职场文书
《雪儿》教学反思
2014/04/17 职场文书
老公给老婆的保证书
2014/04/28 职场文书
学生会辞职信
2015/03/02 职场文书
2015清明节祭奠英烈寄语大全
2015/03/04 职场文书
活动经费申请报告
2015/05/15 职场文书
开工典礼致辞
2015/07/29 职场文书
基于Redis位图实现用户签到功能
2021/05/08 Redis
Sentry的安装、配置、使用教程(Sentry日志手机系统)
2022/07/23 Python