php pear就提供一个rss解析类,方便从用户提供的rss中,获得相应的信息。
需求
下载xml_rss: http://pear.php.net/package/xml_rss
xml_parser http://pear.php.net/package/xml_parser
pear http://pear.php.net/package/pear
具体路径之间的关系,稍微调试一下即可,我是把压缩包解压后,把里面的rss.php,parser.php,pear.php都放在同一目录下,然后把rss.php里面的
require_once xml/parser.php;
改成
require_once xml/parser.php;
就可以使用了。
rss版本
经简单的测试,我发现它对rss上述的三个主要版本,都工作的很好,没有出现问题。说明它是至少支持rss主要版本的(0.91,1.0,2.0)
例子
用xml_rss来分析rss是特别简单的。先包含进类文件:
require rss.php;
根据资源地址创建类实例:
$url = test.rss;
$r =& new xml_rss($url);
当然这里的$url也可以是一个远程路径,这需要把php.ini里的allow_url_fopen设为on,因为它默认设置即为此,所以一般不用改。
执行分析:
$r->parse();
下面就可以得到各种信息了:
$r->getstructure() 返回是一个数组,包含了rss文件的所有结构信息。
$r->getchannelinfo() 返回是一个数组,包含了rss当前频道的概要信息,比如title,link,description等。
$r->getitems() 返回一个二维数组,包含了rss文件里的所有item信息,每组信息里都有title,link,description,date等等。
$r->getimages() 返回一个二维数组,包含了rss文件里的所有image信息,每组信息里都有title,link,url等。
$r->gettextinputs() 返回一个二组数组,包含了rss文件里的所有文件输入区域信息,每组信息里都有title,link,description,name等。
如何根据一个地址打印内容列表
$url = http://www.bkjia.com/data/rss/37.xml;
$r =& new xml_rss($url);
$r->parse();
$items = $r->getitems()
foreach ($items as $k=>$item)
{
//$item里面包含了 link:内容链接;title:内容标题;description:内容描述;pubdate:内容表布日期,视站点而定,不一定提供
?>
target=_blank>
}
?>
http://www.bkjia.com/phpjc/486541.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/486541.htmltecharticlephp pear就提供一个rss解析类,方便从用户提供的rss中,获得相应的信息。 需求 下载xml_rss: http://pear.php.net/package/xml_rss xml_parser http://pear.php...