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 相关文章推荐
图象函数中的中文显示
Oct 09 PHP
PHP中函数内引用全局变量的方法
Oct 20 PHP
网页游戏开发入门教程二(游戏模式+系统)
Nov 02 PHP
php 格式化数字的时候注意数字的范围
Apr 13 PHP
PHP 缓存实现代码及详细注释
May 16 PHP
ThinkPHP CURD方法之limit方法详解
Jun 18 PHP
destoon找回管理员密码的方法
Jun 21 PHP
解读PHP中的垃圾回收机制
Aug 10 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
Dec 08 PHP
深入浅析php中sprintf与printf函数的用法及区别
Jan 08 PHP
详解PHP归并排序的实现
Oct 18 PHP
PHP下载远程图片的几种方法总结
Apr 07 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+JS无限级可伸缩菜单详解(简单易懂)
2007/01/02 PHP
phpfans留言版用到的数据操作类和分页类
2007/01/04 PHP
php生成随机颜色方法汇总
2014/12/03 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
jQuery子属性过滤选择器用法分析
2015/02/10 Javascript
使用jquery制作弹出框效果
2015/04/03 Javascript
Angular2 (RC4) 路由与导航详解
2016/09/21 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
Angularjs自定义指令实现分页插件(DEMO)
2017/09/16 Javascript
Element-UI Table组件上添加列拖拽效果实现方法
2018/04/14 Javascript
创建Vue项目以及引入Iview的方法示例
2018/12/03 Javascript
nodejs检测因特网是否断开的解决方案
2019/04/17 NodeJs
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
python发送伪造的arp请求
2014/01/09 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
2017/11/03 Python
Python IDLE清空窗口的实例
2018/06/25 Python
python中报错&quot;json.decoder.JSONDecodeError: Expecting value:&quot;的解决
2019/04/29 Python
python并发编程多进程 模拟抢票实现过程
2019/08/20 Python
解决html5中video标签无法播放mp4问题的办法
2017/05/07 HTML / CSS
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
Vrbo西班牙:预订您的度假公寓(公寓、乡村房屋…)
2020/04/27 全球购物
哪些情况下不应该使用索引
2015/07/20 面试题
进修护士自我鉴定
2013/10/14 职场文书
文员岗位职责范本
2014/03/08 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
合作经营协议书
2014/04/17 职场文书
授权委托书格式
2014/07/31 职场文书
先进员工获奖感言
2014/08/14 职场文书
个人事迹材料范文
2014/12/29 职场文书
出纳岗位职责范本
2015/03/31 职场文书
高中班主任寄语
2019/06/21 职场文书
Nginx访问日志及错误日志参数说明
2021/03/31 Servers