WordPress通过RSS调用数据的一些实例

前端之家收集整理的这篇文章主要介绍了WordPress通过RSS调用数据的一些实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

不知你是否留意过,每次我们进wordpress后台时,都会显示一些官方的新闻。而这些新闻就是通过RSS调用的,同样,我们可以收为己用。 @H_301_5@@H_301_5@当我们有多个站的时候,很可能需要在几个站之间互相调用数据。比如我有两个wordpress博客,我想彼此调用数据,或者我想在wordpress中集成独立微博,或者我有一个论坛,想在论坛里调用wordpress数据,那么,通常,如果通过数据库调用的话会比较麻烦。 @H_301_5@@H_301_5@使用RSS来进行外部调用是个不错的选择,如果你两个站都是wordpress,那就更非常简单了。你可能没有注意到,wordpress后台小工具里有个RSS,你只需要填写你站点RSS地址即可进行调用。 @H_301_5@@H_301_5@当然,这不只是wordpress,如果你的目标站不是wordpress,但是却想调用你的一个wordpress博客中的数据,方法也很简单,依然是通过RSS输出调用,前提是你的这个站是也是PHP的。 @H_301_5@@H_301_5@以下给出的是一段PHP代码,将代码添加在你要调用数据的地方,并设置好RSS地址即可,样式自己定义。

<?PHP @H_301_5@//RSS源地址列表数组 @H_301_5@$RSSFeed = array("http://Feeds21.Feedburner.com/redlogpress",@H_301_5@"http://RSS.sina.com.cn/news/allinews/sports.xml",@H_301_5@"http://ent.163.com/special/0003n1K7Q/RSS_toutiao.xml"); @H_301_5@//设置编码为UTF-8 @H_301_5@header('Content-Type:text/html;charset= UTF-8'); @H_301_5@for($i=0;$i<sizeof($RSSFeed);$i++){//分解开始 @H_301_5@$buff = ""; @H_301_5@$RSS_str=""; @H_301_5@//打开RSS地址,并读取,读取失败则中止 @H_301_5@$fp = fopen($RSSFeed[$i],"r") or die("can not open $RSSFeed"); @H_301_5@while ( !feof($fp) ) { @H_301_5@$buff .= fgets($fp,4096); @H_301_5@} @H_301_5@//关闭文件打开 @H_301_5@fclose($fp); @H_301_5@//建立一个 XML 解析器 @H_301_5@$parser = xml_parser_create(); @H_301_5@//xml_parser_set_option -- 为指定 XML 解析进行选项设置 @H_301_5@xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1); @H_301_5@//xml_parse_into_struct -- 将 XML 数据解析到数组$values中 @H_301_5@xml_parse_into_struct($parser,$buff,$values,$idx); @H_301_5@//xml_parser_free -- 释放指定的 XML 解析器 @H_301_5@xml_parser_free($parser); @H_301_5@foreach ($values as $val) { @H_301_5@$tag = $val["tag"]; @H_301_5@$type = $val["type"]; @H_301_5@$value = $val["value"]; @H_301_5@//标签统一转为小写 @H_301_5@$tag = strtolower($tag); @H_301_5@if ($tag == "item" && $type == "open"){ @H_301_5@$is_item = 1; @H_301_5@}else if ($tag == "item" && $type == "close") { @H_301_5@//构造输出字符串 @H_301_5@$RSS_str .= "<a href='".$link."' target=_blank>".$title."</a><br />"; @H_301_5@$is_item = 0; @H_301_5@} @H_301_5@//仅读取item标签中的内容 @H_301_5@if($is_item==1){ @H_301_5@if ($tag == "title") {$title = $value;} @H_301_5@if ($tag == "link") {$link = $value;} @H_301_5@} @H_301_5@} @H_301_5@//输出结果 @H_301_5@echo $RSS_str."<br />"; @H_301_5@} @H_301_5@?>

通过第一种方法wordpress增加一个独立微博是个很不错的选择。大致思路是你用一个二级域名或子目录建立一个wordpress,推荐使用wordpress p2主题,然后在主站设置好这个子站的RSS地址即可进行调用,呈现微博效果

猜你在找的wordpress相关文章