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 相关文章推荐
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
Jun 16 PHP
php异常处理技术,顶级异常处理器
Jun 13 PHP
浅谈PHP强制类型转换,慎用!
Jun 06 PHP
如何在PHP中使用正则表达式进行查找替换
Jun 13 PHP
php中magic_quotes_gpc对unserialize的影响分析
Dec 16 PHP
php从字符串创建函数的方法
Mar 16 PHP
php pdo oracle中文乱码的快速解决方法
May 16 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
Jul 28 PHP
PHP 500报错的快速解决方法
Dec 14 PHP
PHP判断密码强度的方法详解
May 26 PHP
php DES加密算法实例分析
Sep 18 PHP
PHP code 验证码生成类定义和简单使用示例
May 27 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
从Web查询数据库之PHP与MySQL篇
2009/09/25 PHP
PHP面向对象分析设计的61条军规小结
2010/07/17 PHP
PHP下通过file_get_contents的代理使用方法
2011/02/16 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
2007/05/14 Javascript
js 复制或插入Html的实现方法小结
2010/05/19 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
JS调用CS里的带参方法实例
2013/08/01 Javascript
JavaScript中的原型和继承详解(图文)
2014/07/18 Javascript
nodejs中转换URL字符串与查询字符串详解
2014/11/26 NodeJs
JavaScript动态添加style节点的方法
2015/06/09 Javascript
jquery实现定时自动轮播特效
2015/12/10 Javascript
深入浅析JS的数组遍历方法(推荐)
2016/06/15 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
2017/06/19 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
vue中使用localstorage来存储页面信息
2017/11/04 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
2018/12/03 Javascript
详解vue项目打包步骤
2019/03/29 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
JavaScript剩余操作符Rest Operator详解
2019/07/20 Javascript
JavaScript Reflect Metadata实现详解
2019/12/12 Javascript
[55:03]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.20
2020/11/20 DOTA
Python的条件语句与运算符优先级详解
2015/10/13 Python
Windows下python3.6.4安装教程
2018/07/31 Python
keras实现多种分类网络的方式
2020/06/11 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
实例讲解使用SVG制作loading加载动画的方法
2016/04/05 HTML / CSS
德国最大的设计师鞋网上商店:Budapester
2017/12/07 全球购物
美国在线轮胎零售商:SimpleTire
2019/04/08 全球购物
几道Web/Ajax的面试题
2016/11/05 面试题
行政部岗位职责范本
2014/03/13 职场文书
修改MySQL的默认密码的四种小方法
2021/05/26 MySQL
CentOS 7安装mysql5.7使用XtraBackUp备份工具命令详解
2022/04/12 MySQL
JS前端轻量fabric.js系列物体基类
2022/08/05 Javascript