当前位置: 首页 > 工具软件 > PHP Insights > 使用案例 >

php rss 订阅源码,PHP进行RSS订阅

怀经赋
2023-12-01

现在有很多的rss订阅,我们直接可以订阅到邮箱。既然学了PHP,那么有没有一种方法可以直接将rss的新闻信息显示在自己的网页上呢?有的,必须的,下面就是这个rss脚本:

//RSS源地址列表数组

$rssfeed = array("http://blog.csdn.net/heavenopener/category/668064.aspx/rss");

for($i=0;$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);

$num=1;

for($num=0;$num<60;$num++){

$val=@$values[$num];

$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 .="

".$title."";

$is_item = 0;

}

//仅读取item标签中的内容

if(@$is_item==1){

if ($tag == "title") {$title = $value;}

if ($tag == "link") {$link = $value;}

}

}

//输出结果

foreach (explode("/n",str_replace("/r",'',$rss_str)) as $line)

{

echo iconv("utf-8","gb2312",str_replace("'","//'",$line));//进行utf-8到gb2312的转换防止网页乱码

}

}

?>

将这个php文件包含到主页的php文件中即可,主页的html编码格式为gb2312

rss源地址改为自己要订阅的rss源地址,$num值可以设定显示rss新闻条数,设为10的整数倍

将网页上传到自己的php空间就行了,或者没有空间的直接自己的电脑装个wamp服务器,将订阅页设为浏览器主页

这样每次打开浏览器就能看自己的订阅了

 类似资料: