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 相关文章推荐
php 中文和编码判断代码
May 16 PHP
php利用单例模式实现日志处理类库
Feb 10 PHP
PHP同时连接多个mysql数据库示例代码
Mar 17 PHP
PHP函数strip_tags的一个bug浅析
May 22 PHP
PHP中数据类型转换的三种方式
Apr 02 PHP
两种php给图片加水印的实现代码
Apr 18 PHP
PHP生成各种常见验证码和Ajax验证过程
Jan 10 PHP
将PHP的session数据存储到数据库中的代码实例
Jun 24 PHP
PHP生成随机数的方法总结
Mar 01 PHP
PHP实现打包zip并下载功能
Jun 12 PHP
PHP实现简易图形计算器
Aug 28 PHP
PHP实现两种排课方式
Jun 26 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 截取字符串 分别适合GB2312和UTF8编码情况
2009/02/12 PHP
PHP 数组排序方法总结 推荐收藏
2010/06/30 PHP
Ruffy javascript 学习笔记
2009/11/30 Javascript
JS的反射问题
2010/04/07 Javascript
JS代码同步文本框内容的实例方法
2013/07/12 Javascript
JS实现程序暂停与继续功能代码解读
2013/10/10 Javascript
jquery隔行换色效果实现方法
2015/01/15 Javascript
jquery实现聚光灯效果的方法
2015/02/06 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
2016/05/30 Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
2016/07/22 Javascript
jQuery实现立体式数字滚动条增加效果
2016/12/21 Javascript
详解webpack多页面配置记录
2018/01/22 Javascript
深入理解react 组件类型及使用场景
2019/03/07 Javascript
fastadmin中调用js的方法
2019/05/14 Javascript
Vue3.0数据响应式原理详解
2019/10/09 Javascript
使用原生JS实现火锅点餐小程序(面向对象思想)
2019/12/10 Javascript
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
如何基于Python实现电子邮件的发送
2019/12/16 Python
python中not、and和or的优先级与详细用法介绍
2020/11/03 Python
Html5 实现微信分享及自定义内容的流程
2019/08/20 HTML / CSS
轻松制作精彩视频:Animoto
2018/09/19 全球购物
《藤野先生》教学反思
2014/02/19 职场文书
《绿色蝈蝈》教学反思
2014/03/02 职场文书
开学典礼主持词
2014/03/19 职场文书
养生餐厅创业计划书范文
2014/03/26 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
婚前协议书范本两则
2014/10/16 职场文书
有关骆驼祥子的读书笔记
2015/06/26 职场文书
python本地文件服务器实例教程
2021/05/02 Python
基于angular实现树形二级表格
2021/10/16 Javascript
Python字符串格式化方式
2022/04/07 Python
基于Python实现西西成语接龙小助手
2022/08/05 Golang