PHP读取RSS(Feed)简单实例

 更新时间:2014年06月12日 11:36:07   投稿:junjie  
这篇文章主要介绍了PHP读取RSS(Feed)实例,比较简单,需要的朋友可以参考下

最近在弄博客,但各种博客间同步比较麻烦,好在每一个博客都有自己的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="&quot;.$link.&quot;" 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网页游戏学习之Xnova(ogame)源码解读(三)

    PHP网页游戏学习之Xnova(ogame)源码解读(三)

    这篇文章主要介绍了PHP网页游戏Xnova(ogame)源码解读的用户注册页面,需要的朋友可以参考下
    2014-06-06
  • PHP调用API接口实现天气查询功能的示例

    PHP调用API接口实现天气查询功能的示例

    下面小编就为大家带来一篇PHP调用API接口实现天气查询功能的示例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 使用Yii2实现主从数据库设置

    使用Yii2实现主从数据库设置

    大家应该都知道,当项目做大了,数据库主从还是不可少的。使用Yii框架开发,如何设置数据库的主从呢?其实很简单。下面这篇文章就给大家详细介绍了使用Yii2实现主从数据库设置的方法,文中介绍的很详细,相信对大家的理解和学习很有帮助,下面来一起学习学习吧。
    2016-11-11
  • Laravel 重写日志,让日志更优雅

    Laravel 重写日志,让日志更优雅

    这篇文章主要介绍了Laravel 重写日志,让日志更优雅,laravel框架俗称优雅的框架,所以有想对laravel中的日志重写使其更加方便的记录信息获取信息的同学可以参考下
    2021-03-03
  • php 生成静态页面的办法与实现代码详细版

    php 生成静态页面的办法与实现代码详细版

    首先说原理。查了那么多资料,发现不管用什么方法,原理都是一样的。就是用程序读取相应的数据来替换模版中的变量,然后生成静态页。
    2010-02-02
  • PHP网页安全认证的实例详解

    PHP网页安全认证的实例详解

    这篇文章主要介绍了PHP网页安全认证的实例详解的相关资料,这里提供了两种实现方法,一种基于数据库另一种不基于数据库的方法,希望通过本能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • destoon调用discuz论坛中带图片帖子的实现方法

    destoon调用discuz论坛中带图片帖子的实现方法

    这篇文章主要介绍了destoon调用discuz论坛中带图片帖子的实现方法,是destoon开发中非常实用的一个技巧,需要的朋友可以参考下
    2014-08-08
  • 如何通过View::first使用Laravel Blade的动态模板详解

    如何通过View::first使用Laravel Blade的动态模板详解

    这篇文章主要给大家介绍了关于如何通过View::first使用Laravel Blade的动态模板的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用php具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧。
    2017-09-09
  • Laravel Memcached缓存驱动的配置与应用方法分析

    Laravel Memcached缓存驱动的配置与应用方法分析

    这篇文章主要介绍了Laravel Memcached缓存驱动的配置与应用方法,结合实例形式分析了在Laravel框架配置Memcached缓存及相关使用方法,需要的朋友可以参考下
    2016-10-10
  • Yii支持多域名cors原理的实现

    Yii支持多域名cors原理的实现

    这篇文章主要介绍了Yii支持多域名cors原理的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12

最新评论