用PHP读取RSS feed的代码


Posted in PHP onAugust 01, 2008

而助易网的rss读取就是在这个程序的基础上稍做改造而成,主
要是输出了一个数组字符串以及解决编码问题。

php源代码及代码详细解释如下:

<?php
//RSS源地址列表数组
$rssfeed = array("https://3water.com/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 相关文章推荐
php网页后退不再出现过期
Mar 08 PHP
MySQL GBK→UTF-8编码转换
May 24 PHP
PHP生成excel时单元格内换行问题的解决方法
Aug 26 PHP
ThinkPHP提交表单时默认自动转义的解决方法
Nov 25 PHP
PHP实现简单实用的验证码类
Jul 29 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
Apr 17 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
Jul 18 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
php微信公众号js-sdk开发应用
Nov 28 PHP
PHP获取当前日期及本周一是几月几号的方法
Mar 28 PHP
PHP大文件切割上传功能实例分析
Jul 01 PHP
PHP基于ip2long实现IP转换整形
Dec 11 PHP
IStream与TStream之间的相互转换
Aug 01 #PHP
特详细的PHPMYADMIN简明安装教程
Aug 01 #PHP
php-accelerator网站加速PHP缓冲的方法
Jul 30 #PHP
新安装的MySQL数据库需要注意的安全知识
Jul 30 #PHP
说明的比较细的php 正则学习实例
Jul 30 #PHP
MySql中正则表达式的使用方法描述
Jul 30 #PHP
php自动跳转中英文页面
Jul 29 #PHP
You might like
php实现读取手机客户端浏览器的类
2015/01/09 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
2015/12/31 PHP
PHPExcel导出2003和2007的excel文档功能示例
2017/01/04 PHP
PHP中Trait及其应用详解
2017/02/14 PHP
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
javascript 程序库的比较(一)之DOM功能
2010/04/07 Javascript
ScrollDown的基本操作示例
2013/06/09 Javascript
jquery自定义类似$.ajax()的方法实现代码
2013/08/13 Javascript
JavaScript实现的浮动层框架用法实例分析
2015/10/10 Javascript
AngularJS实现分页显示数据库信息
2016/07/01 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
2019/06/12 Javascript
vue的hash值原理也是table切换实例代码
2020/12/14 Vue.js
Python学习笔记之解析json的方法分析
2017/04/21 Python
python爬虫实战之最简单的网页爬虫教程
2017/08/13 Python
scrapy爬虫实例分享
2017/12/28 Python
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
Windows下Anaconda2安装NLTK教程
2018/09/19 Python
python 函数内部修改外部变量的方法
2018/12/18 Python
利用python提取wav文件的mfcc方法
2019/01/09 Python
Django实现单用户登录的方法示例
2019/03/28 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
如何获取Python简单for循环索引
2019/11/21 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
纯css3实现照片墙效果
2014/12/26 HTML / CSS
CSS3实现闪烁动画效果的方法
2015/02/09 HTML / CSS
用HTML5制作数字时钟的教程
2015/05/11 HTML / CSS
Vans奥地利官方网站:美国原创极限运动潮牌
2018/09/30 全球购物
SK-II神仙水美国官网:SK-II美国
2020/02/25 全球购物
项目经理任命书内容
2014/06/06 职场文书
助残日活动总结
2014/08/27 职场文书
团队会宣传标语
2014/10/09 职场文书
军人离婚协议书样本
2014/10/21 职场文书
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript
利用Python脚本写端口扫描器socket,python-nmap
2022/07/23 Python