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中文件上传的一个问题
Sep 04 PHP
PHP+JS+rsa数据加密传输实现代码
Mar 23 PHP
PHP获取网页标题的3种实现方法代码实例
Apr 11 PHP
PHP中strtr字符串替换用法详解
Nov 26 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
Oct 15 PHP
实现PHP框架系列文章(6)mysql数据库方法
Mar 04 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
Jun 19 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
Oct 13 PHP
PHP实现限制IP访问的方法
Apr 20 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
Feb 10 PHP
PHP实现通过文本文件统计页面访问量功能示例
Feb 13 PHP
php简单计算权重的方法示例【适合抽奖类应用】
Jun 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版(1)
2006/10/09 PHP
PHP数组循环操作详细介绍 附实例代码
2013/02/03 PHP
基于PHP Web开发MVC框架的Smarty使用说明
2013/04/19 PHP
利用php获取服务器时间的实现代码
2013/06/07 PHP
浅析PHP7 的垃圾回收机制
2019/09/06 PHP
如果文字过长,则将过长的部分变成省略号显示
2006/06/26 Javascript
JS之小练习代码
2008/10/12 Javascript
JQuery困惑—包装集 DOM节点
2009/10/16 Javascript
JavaScript禁止页面操作的示例代码
2013/12/17 Javascript
toggle()隐藏问题的解决方法
2014/02/17 Javascript
window.location 对象所包含的属性
2014/10/10 Javascript
jQuery实现的五子棋游戏实例
2015/06/13 Javascript
判断数组是否包含某个元素的js函数实现方法
2016/05/19 Javascript
jQuery选择器实例应用
2017/01/05 Javascript
jQuery tip提示插件(实例分享)
2017/04/28 jQuery
详解vue 配合vue-resource调用接口获取数据
2017/06/22 Javascript
JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作整理总结
2019/06/27 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
2020/01/08 Javascript
Vue数字输入框组件使用方法详解
2020/02/10 Javascript
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
Django3.0 异步通信初体验(小结)
2019/12/04 Python
Python面向对象原理与基础语法详解
2020/01/02 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
2020/07/14 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
腾讯公司的一个sql题
2013/01/22 面试题
护理自荐信范文
2013/10/05 职场文书
通信工程毕业生自荐信
2013/11/01 职场文书
新任教师自我鉴定
2014/02/24 职场文书
读书活动实施方案
2014/03/10 职场文书
大学生社会实践方案
2014/05/11 职场文书
竞选班干部演讲稿600字
2014/08/20 职场文书
幼儿园教师安全责任书
2015/05/08 职场文书
2019下半年英语教师的教学工作计划(3篇)
2019/09/25 职场文书
SpringBoot项目中控制台日志的保存配置操作
2021/06/18 Java/Android