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 Cookie的一个使用注意点
Nov 08 PHP
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
Sep 23 PHP
PHP文章按日期(月日)SQL归档语句
Nov 29 PHP
PHP设计模式之责任链模式的深入解析
Jun 13 PHP
PHP+Memcache实现wordpress访问总数统计(非插件)
Jul 04 PHP
jquery获取多个checkbox的值异步提交给php的方法
Jun 24 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
PHP模块化安装教程
Jun 01 PHP
php实现的SSO单点登录系统接入功能示例分析
Oct 12 PHP
详解PHP如何更好的利用PHPstorm的自动提示
Aug 18 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
Sep 30 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
Jul 30 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 has encountered an Access Violation 错误的解决方法
2010/01/17 PHP
yii2使用ajax返回json的实现方法
2016/05/14 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
laravel 解决后端无法获取到前端Post过来的值问题
2019/10/22 PHP
jQuery.autocomplete 支持中文输入(firefox)修正方法
2011/03/10 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
2013/04/24 Javascript
jquery操作select大全
2014/04/25 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
Java遍历集合方法分析(实现原理、算法性能、适用场合)
2016/04/25 Javascript
js正则表达式注册页面表单验证
2016/10/11 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
2016/12/08 Javascript
Bootstrap CSS布局之表单
2016/12/17 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
bootstrap timepicker在angular中取值并转化为时间戳
2017/06/13 Javascript
使用cropper.js裁剪头像的实例代码
2017/09/29 Javascript
vue-router beforeEach跳转路由验证用户登录状态
2018/12/26 Javascript
Nodejs中的require函数的具体使用方法
2019/04/02 NodeJs
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
了解JavaScript中的选择器
2019/05/24 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
[56:17]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
用Python抢火车票的简单小程序实现解析
2019/08/14 Python
Python 合并多个TXT文件并统计词频的实现
2019/08/23 Python
使用Python文件读写,自定义分隔符(custom delimiter)
2020/07/05 Python
新大陆软件面试题
2016/11/24 面试题
2014高考励志标语
2014/06/05 职场文书
夏季药店促销方案
2014/08/22 职场文书
机动车登记业务委托书
2014/10/08 职场文书
党的群众路线教育实践活动党员个人整改措施
2014/10/27 职场文书
2015年办公室人员工作总结
2015/05/15 职场文书
交通安全温馨提示语
2015/07/14 职场文书
Python3中最常用的5种线程锁实例总结
2021/07/07 Python
实操Python爬取觅知网素材图片示例
2021/11/27 Python
Python机器学习应用之工业蒸汽数据分析篇详解
2022/01/18 Python
JavaScript实现外溢动态爱心的效果的示例代码
2022/03/21 Javascript