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 Transfer Code
Oct 09 PHP
PHP 得到根目录的 __FILE__ 常量
Jul 23 PHP
php 服务器调试 Zend Debugger 的安装教程
Sep 25 PHP
PHP 编程安全性小结
Jan 08 PHP
PHP与javascript实现变量交互的示例代码
Jul 23 PHP
PHP中使用Memache作为进程锁的操作类分享
Mar 30 PHP
php生成rss类用法实例
Apr 14 PHP
实例分析PHP中PHPMailer发邮件
Dec 13 PHP
PHP使用函数用法详解
Sep 30 PHP
php+ajax 文件上传代码实例
Mar 18 PHP
分享8个Laravel模型时间戳使用技巧小结
Feb 12 PHP
Thinkphp 框架扩展之驱动扩展实例分析
Apr 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
php DOS攻击实现代码(附如何防范)
2012/05/29 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
PHP学习记录之数组函数
2018/06/01 PHP
B/S开发中常用javaScript技术与代码
2007/03/09 Javascript
JavaScript 不只是脚本
2007/05/30 Javascript
实现局部遮罩与关闭原理及代码
2013/02/04 Javascript
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
javascript实现原生ajax的几种方法介绍
2013/09/21 Javascript
Js与下拉列表处理问题解决
2014/02/13 Javascript
JavaScript基本的输出和嵌入式写法教程
2015/10/20 Javascript
AngularJS控制器之间的数据共享及通信详解
2016/08/01 Javascript
AngularJs  E2E Testing 详解
2016/09/02 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
微信小程序 setData的使用方法详解
2017/04/20 Javascript
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
2017/09/18 jQuery
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
Vue实现input宽度随文字长度自适应操作
2020/07/29 Javascript
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
Python实现设置windows桌面壁纸代码分享
2015/03/28 Python
Python中pandas模块DataFrame创建方法示例
2018/06/20 Python
python matplotlib画图库学习绘制常用的图
2019/03/19 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
pycharm 关掉syntax检查操作
2020/06/09 Python
python实现学生通讯录管理系统
2021/02/25 Python
PREMIUM-MALL法国:行李、箱包及配件在线
2019/05/30 全球购物
大四本科生的自我评价
2013/12/30 职场文书
三年大学生活自我鉴定
2014/01/21 职场文书
夫妻婚内购房协议书
2014/10/05 职场文书
2014社会治安综合治理工作总结
2014/12/04 职场文书
七一建党节慰问信
2015/02/14 职场文书
2015年小学体育工作总结
2015/05/22 职场文书
2016年教代会开幕词
2016/03/04 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript
如何利用React实现图片识别App
2022/02/18 Javascript