使用fetch_feed函数和使用Feed网址数组的有线问题

时间:2011-04-19 21:43:56

标签: php arrays wordpress rss explode

我正在从wordress中的用户个人资料中合并几个RSS Feed,其中rss feed urls用户输入每行一个。我使用implode函数使用rss提供数组使用wordpress fetch_feed函数来检索帖子。但是对于一些有线的原因,来自一个网址的帖子没有显示。但是,当我手动创建一个具有相同网址的数组时,它可以工作!以下是您自己可以看到的代码。

//array by explode
if($author->feeds){
                 $urlArray = explode("\r", $author->feeds);
             }
//manually created array     
    $mArray = array('http://lakeview.citystirchicago.com/feed/', 'http://citystir.com/feed/');

down in the page

     if($author->feeds){
                        if(function_exists('fetch_feed')){
                            include_once(ABSPATH . WPINC . '/feed.php');
                            $feed = fetch_feed($array);
                            if (!is_wp_error( $feed ) ){
                                $limit = $feed->get_item_quantity(8);
                                $items = $feed->get_items(0, $limit);
                                if(!$items){
                                    echo 'Problem loading feed.';
                                } else {
                                    ?>
                                    <ul id="activity_feed">
<?php
foreach ($items as $item):
//do stuff
endforeach;
?>

您可以通过这两个网址检查两个实例。我已经打印了$ mArray和$ urlArray。手动创建的数组$ mArray显示来自第二个链接(新测试帖子)的帖子,而数组则通过explode $ urlArray不是两者都相同但结果不同!:

使用$ mArray:http://citystir.com/author/designdons/

使用$ urlArray:http://citystir.com/author/designdons/?test=1


已解决:必须将爆炸分隔符“\ r”更改为“\ r \ n”。我可能必须找到更有效的爆炸方式。谢谢!

1 个答案:

答案 0 :(得分:1)

将爆炸分隔符“\ r”更改为“\ r \ n”解决了这个问题。