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="".$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和AJAX创建RSS聚合器的代码
想象使用一个简单HTML文件来把一个请求发送到一个服务器端脚本,收到一个基于该请求的定制XML文件,然后把它显示给用户而几乎不需要刷新浏览器!本文作者将同你一起探讨怎样在普通Web应用程序中联合PHP和AJAX技术来创建实时的数据传输而不需要进行浏览器刷新. 尽管本文所使用的是PHP语言,但是请记住任何服务器端语言都会正常工作.为了理解本文,我假定你基本理解JavaScript和PHP或一类似服务器端语言. 本文示例使用AJAX来把一请求从一个RSS馈送发送到一定制的PHP对象.该PHP对象复制
-
php生成RSS订阅的方法
本文实例讲述了php生成RSS订阅的方法.分享给大家供大家参考.具体分析如下: RSS(简易信息聚合,也叫聚合内容)是一种描述和同步网站内容的格式.RSS可以是以下三个解释的其中一个: Really Simple Syndication:RDF (Resource Description Framework) Site Summary: Rich Site Summary.但其实这三个解释都是指同一种Syndication的技术.RSS目前广泛用于网上新闻频道,blog和wiki.使用RSS订阅
-
用PHP读取RSS feed的代码
而助易网的rss读取就是在这个程序的基础上稍做改造而成,主 要是输出了一个数组字符串以及解决编码问题. php源代码及代码详细解释如下: <?php //RSS源地址列表数组 $rssfeed = array("http://www.jb51.net/feed", "http://rss.sina.com.cn/news/allnews/sports.xml", "http://ent.163.com/special/00031K7Q/rss_tou
-
PHP解析RSS的方法
本文实例讲述了PHP解析RSS的方法.分享给大家供大家参考.具体如下: 1. php代码如下: 复制代码 代码如下: <?php require "XML/RSS.php"; $rss = new XML_RSS("http://php.net/news.rss"); $rss->parse(); foreach($rss->getItems() as $item) { print_r($item); } ?> 2. RSS.php代码如
-
php生成rss类用法实例
本文实例讲述了php生成rss类用法,分享给大家供大家参考.具体如下: <?php require('rssbuilder.class.php'); header('Content-Type: application/xml; charset=UTF-8'); header('Cache-Control: no-cache, must-revalidate'); header('Expires: Fri, 14 Mar 1980 20:53:00 GMT'); header('Last-Modi
-
PHP生成RSS文件类实例
本文实例讲述了PHP生成RSS文件类文件.分享给大家供大家参考.具体如下: PHP RSS 生成类实例代码如下: 复制代码 代码如下: <?php if (defined('_class_rss_php')) return; define('_class_rss_php教程',1); /** * 使用说明: * $rss = new rss('redfox','http://jb51.net/',"redfox's blog"); * $rss->addit
-
php实现的RSS生成类实例
本文实例讲述了php实现的RSS生成类.分享给大家供大家参考.具体如下: class RSS { var $title; var $link; var $description; var $language = "en-us"; var $pubDate; var $items; var $tags; function RSS() { $this->items = array(); $this->tags = array(); } function addItem($ite
-
PHP 正则表达式分析RSS
复制代码 代码如下: $xmlfile = 'news/'.date('YmdH').'.xml'; $sourcexml = 'http://www.chinanews.com.cn/rss/scroll-news.xml'; if( !file_exists($xmlfile) ) { $str = @file($sourcexml) or die('加载文件时出错.'); $fp = fopen($xmlfile,'w') or die('写缓存失败!'); fputs($fp,$str)
-
PHP读取RSS(Feed)简单实例
最近在弄博客,但各种博客间同步比较麻烦,好在每一个博客都有自己的RSS聚合系统,可以通过RSS实现博客同步调用,于是自己动手用RSS实现博客同步发布,在其中就研究一下PHP读RSS. RSS是用XML来书写的,XML 是一种数据存储格式.PHP读取XML数据有三种方法:用XML解析函数.DOM模块和正则表达式,最直接地就是直接解析XML,获取XML中的数据. 以下是解析代码: 复制代码 代码如下: <?phperror_reporting(E_ALL^E_NOTICE); $rssfeed =
-
JAVA按字节读取文件的简单实例
JAVA的IO流一直都是我比较头疼的部分(我没有系统学过JAVA,一般需要实现什么功能再去看文档). 最近遇到一个需求:一个字节一个字节地读取一个文件.网上很多方法,代码一大堆.我在这里和大家分享一个简单的办法(至少对我的需求是有效的). File file= new File(fileName); //filename为 文件目录,请自行设置 InputStream in= null; byte[] bytes= null; in = new FileInputStream(file); //
-
C#实现xml文件的读取与写入简单实例
本文实例讲述了C#实现xml文件的读取与写入方法.分享给大家供大家参考.具体如下: //DataTable DateSet 都可以用来读取xml数据和写入xml数据 protected voidButton1_Click(object sender, EventArgs e) { DataTabledt = new DataTable("Employee"); DataColumndcID = new DataColumn("ID", typeof(string))
-
php读取mysql的简单实例
复制代码 代码如下: <?php $link=mysql_connect("localhost","root","之前的管理员密码"); if(!$link) echo "没有连接成功!"; mysql_select_db("infosystem", $link); //选择数据库 $q = "SELECT * FROM info"; //SQL查询语句
-
java读取大文件简单实例
我要从一个文本文件中提有用的数据 文本文件200多MB 是不是可以建一个缓存来把有用的数据一段一段的提出来,请问该怎么做? --------------------------------------------------------------- 呵呵,200MB而已... JAVA中可以使用内存映射文件来操作大文件. 最大可达2GB. 下面是个简单的示例,更具体的自己看Java API DOCS或相关资料 复制代码 代码如下: import java.io.*; import java.n
-
Java读取txt文件和写入txt文件的简单实例
写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂! package edu.thu.keyword.test; import java.io.File; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream;
-
Java web的读取Excel简单实例代码
目录结构: Data.xls数据: 后台页面: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //System.out.println(this.getServletContext().getRealPath ("/")); try{ Workbook wb = Workbook.getWorkbook(
-
PHP 读取大文件并显示的简单实例(推荐)
使用PHP读取日志文件,当文件比较大的时候,会报内存不足,因此应该部分读取,读取指定的行数的数据 PHP代码: <?php class Test{ //日志路径 const LOG_PATH="E:\phpServer\Apache\logs\error.log"; const NGINX_LOG_PATH="E:\phpServer\\nginx\logs\error.log"; //显示的行数 const PAGES=50; public static f
-
java读取文件和写入文件的方式(简单实例)
Java代码 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. */ public static void readFileByBytes(String fileName) { File file = new File(fileName); InputStream in = null; try { System.out.println("以字节为单位读取文件内容,一次读一个字节:"); // 一次读
随机推荐
- Java编程实现从尾到头打印链表代码实例
- JavaWeb实现文件上传下载功能实例解析
- 浅谈AngularJS中ng-class的使用方法
- web安全—tomcat禁用WebDAV或者禁止不需要的 HTTP 方法
- 纯JS代码实现气泡效果
- PHP钩子与简单分发方式实例分析
- 微信小程序 动态绑定数据及动态事件处理
- PHP 抓取新浪读书频道的小说并生成txt电子书的代码
- PHP网站备份程序代码分享
- 详解C语言sscanf()函数、vsscanf()函数、vscanf()函数
- javascript结合CSS实现苹果开关按钮特效
- java编写简单的ATM存取系统
- linux删除无效链接文件脚本分享
- SQL语句实现表中字段的组合累加排序
- SqlServer参数化查询之where in和like实现之xml和DataTable传参介绍
- Java解决约瑟夫问题代码实例
- 不依赖Flash和任何JS库实现文本复制与剪切附源码下载
- 为dedecms增加栏目文章统计功能代码
- 阿里云linux服务器下安装Apache的简单方法
- 详解Java编程中的策略模式