FEED(中文发音“肥的”、“废了”都可以)只是一个中间过程,所以全世界没人能给FEED下一个准确的定义,所以还是按照天缘的观点理解,大家不用关心FEED的定义,其实FEED什么都不是。如果非得给个说法,最好还是放到英文环境下理解似乎更加合理,FEED其实就是RSS(或ATOM)和订阅用户之间的“中间商”,起到帮忙批发传递信息的作用。所以,FEED的常见格式就是RSS和ATOM,网络上说的FEED订阅,更确切的说法应该仍然是RSS或ATOM订阅。
?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的代码示例的详细内容,其它编程语言
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答