用PHP读取RSS feed的代码
2015-01-24信息快讯网
由于需要读取不同来源的rss feed,写了一个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_toutiao.xml",
"http://tech.163.com/special/00091JPQ/techimportant.xml");
//设置编码为UTF-8
header('Content-Type:text/html;charset= UTF-8');
for($i=0;$i<sizeof($rssfeed);$i++){//分解开始
$buff = "";
$rss_str="";
//打开rss地址,并读取,读取失败则中止
$fp = fopen($rssfeed[$i],"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") {
//构造输出字符串
$rss_str .= "<a href='".$link."' target=_blank>".$title."</a><br />";
$is_item = 0;
}
//仅读取item标签中的内容
if($is_item==1){
if ($tag == "title") {$title = $value;}
if ($tag == "link") {$link = $value;}
}
}
//输出结果
echo $rss_str."<br />";
}
?>
PHP读取RSS(Feed)简单实例
mysql下创建字段并设置主键的php代码
php带密码功能并下载远程文件保存本地指定目录 修改加强版
ezSQL PHP数据库操作类库
php 提速工具eAccelerator 配置参数详解
php date()日期时间函数详解
php access 数据连接与读取保存编辑数据的实现代码
php disk_free_space 返回目录可用空间
php读取javascript设置的cookies的代码
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
用PHP实现读取和编写XML DOM代码
php5 non-thread-safe和thread-safe这两个版本的区别分析
PHP调用Twitter的RSS的实现代码
PHP clearstatcache()函数详解
php 读取shell管道传输过来的内容
php htmlspecialchars加强版
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
PHP parse_url 一个好用的函数
php 无限级 SelectTree 类
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
sourcesafe管理phpproj文件的补充说明(downmoon)
PHP伪造referer实例代码
php自动适应范围的分页代码
IStream与TStream之间的相互转换
特详细的PHPMYADMIN简明安装教程
phpmyadmin的安装与使用图文教程第1/2页
php-accelerator网站加速PHP缓冲的方法
说明的比较细的php 正则学习实例
php自动跳转中英文页面
效率较高的php下读取文本文件的代码 原创
用PHP伪造referer突破网盘禁止外连的代码
PHP读取MySQL数据代码
php中对xml读取的相关函数的介绍一
php读取数据库信息的几种方法
在PHP中读取和写入WORD文档的代码
php中ob(Output Buffer 输出缓冲)函数使用方法
利用PHP和AJAX创建RSS聚合器的代码
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
Breeze 文章管理系统 v1.0.0正式发布
PHP3 safe_mode 失效漏洞