PHP读取RSS(Feed)简单实例


Posted in PHP onJune 12, 2014

最近在弄博客,但各种博客间同步比较麻烦,好在每一个博客都有自己的RSS聚合系统,可以通过RSS实现博客同步调用,于是自己动手用RSS实现博客同步发布,在其中就研究一下PHP读RSS。

RSS是用XML来书写的,XML 是一种数据存储格式。PHP读取XML数据有三种方法:用XML解析函数、DOM模块和正则表达式,最直接地就是直接解析XML,获取XML中的数据。

以下是解析代码:

<?php
error_reporting(E_ALL^E_NOTICE);
$rssfeed = "feed.xml";
header('Content-Type:text/html;charset= UTF-8');
$buff = "";
 //打开rss地址,并读取
 $fp = fopen($rssfeed,"r") or die("can not open $rssfeed");
 while ( !feof($fp) ) {
 $buff .= fgets($fp,4096);
 }
 //关闭文件
 fclose($fp);
//建立一个 XML 解析器
 $parser = xml_parser_create();
 //xml_parser_set_option -- 为指定 XML 解析进行选项设置
 xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
 //xml_parse_into_struct -- 将 XML 数据解析到数组$values中
 xml_parse_into_struct($parser,$buff,$values,$idx);
 //xml_parser_free -- 释放指定的 XML 解析器
 xml_parser_free($parser);
foreach ($values as $val) {
 $tag = $val["tag"];
 $type = $val["type"];
 $value = $val["value"];
 //标签统一转为小写
 $tag = strtolower($tag);
if ($tag == "item" && $type == "open"){
 $is_item = 1;
 }else if ($tag == "item" && $type == "close") {
 //构造输出字符串
 echo "<a href="".$link."" target="_blank">".$title."</a>
 ";
 //echo $content."
 ";
 $is_item = 0;
 }
 //仅读取item标签中的内容
 if($is_item==1){
 if ($tag == "title") {$title = $value;}
 if ($tag == "link") {$link = $value;}
 if ($tag =="content:encoded"){$content=$value;}
 }
 }
 ?>

以下是用该程序读取feed的效果:

PHP读取RSS(Feed)简单实例

PHP 相关文章推荐
一个用php3编写的简单计数器
Oct 09 PHP
在php MYSQL中插入当前时间
Apr 06 PHP
一个PHP的String类代码
Apr 20 PHP
php 文件上传类代码
Aug 06 PHP
PHP daddslashes 使用方法介绍
Oct 26 PHP
php全局变量和类配合使用深刻理解
Jun 05 PHP
通过PHP简单实例介绍文件上传
Dec 16 PHP
PHP单例模式定义与使用实例详解
Feb 06 PHP
PHP将身份证正反面两张照片合成一张图片的代码
Apr 08 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
Nov 06 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 26 PHP
php7中停止php-fpm服务的方法详解
May 09 PHP
Codeigniter实现智能裁剪图片的方法
Jun 12 #PHP
PHP使用Alexa API获取网站的Alexa排名例子
Jun 12 #PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
Jun 12 #PHP
Codeigniter生成Excel文档的简单方法
Jun 12 #PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
Jun 12 #PHP
让CodeIgniter数据库缓存自动过期的处理的方法
Jun 12 #PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
Jun 12 #PHP
You might like
PHP VS ASP
2006/10/09 PHP
php5新改动之短标记启用方法
2008/09/11 PHP
PHP中::、-&amp;gt;、self、$this几种操作符的区别介绍
2013/04/24 PHP
php实现递归抓取网页类实例
2015/04/03 PHP
php实现购物车功能(下)
2016/01/05 PHP
PHP访问数据库集群的方法小结
2016/03/14 PHP
PHP针对多用户实现更换头像功能
2016/09/04 PHP
利用PHP绘图函数实现简单验证码功能的方法
2016/10/18 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
javascript中String类的subString()方法和slice()方法
2011/05/24 Javascript
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
jQuery实现倒计时(倒计时年月日可自己输入)
2016/12/02 Javascript
JS获取input[file]的值并显示在页面的实现方法
2018/03/09 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&amp;平移轮播效果
2019/08/16 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
JavaScript中while循环的基础使用教程
2020/08/11 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
js获取url页面id,也就是最后的数字文件名
2020/09/25 Javascript
python模拟登陆Tom邮箱示例分享
2014/01/13 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
浅谈keras的深度模型训练过程及结果记录方式
2020/01/24 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
安装并免费使用Pycharm专业版(学生/教师)
2020/09/24 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
2020/12/24 Python
canvas线条的属性详解
2018/03/27 HTML / CSS
SmartBuyGlasses台湾:名牌眼镜,名牌太阳眼镜及隐形眼镜
2017/01/04 全球购物
英国翻新电子产品购物网站:Tech Trade
2017/12/25 全球购物
教育科学研究生自荐信
2013/10/09 职场文书
《小壁虎借尾巴》教学反思
2014/02/16 职场文书
大班亲子运动会方案
2014/06/10 职场文书
超市客服工作职责
2014/06/11 职场文书
《风筝》教学反思
2016/02/23 职场文书
python使用openpyxl库读写Excel表格的方法(增删改查操作)
2021/05/02 Python
Nginx跨域问题解析与解决
2022/08/05 Servers