Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用simplepie和codeigniter列出特定提要类型旁边的设置图标_Php_Arrays_Codeigniter_Rss_Simplepie - Fatal编程技术网

Php 使用simplepie和codeigniter列出特定提要类型旁边的设置图标

Php 使用simplepie和codeigniter列出特定提要类型旁边的设置图标,php,arrays,codeigniter,rss,simplepie,Php,Arrays,Codeigniter,Rss,Simplepie,我有一个小问题,希望有人能帮我解决 下面复制的是一段代码,它转到我的数据库模型并返回一个带有URL和提要类型的数组。用户输入他们是否使用过twitter名称、博客网站等 然而,要用simplepie解析这些数据,我需要传递一个URL的数组。。。我失去了我的“类型”选项。无论如何,我可以将其添加回simplepie项目,以便在用户选择特定类型的提要时显示特定图标 $feed = $this->profile_model->get_module_feed(); $feedarr

我有一个小问题,希望有人能帮我解决

下面复制的是一段代码,它转到我的数据库模型并返回一个带有URL和提要类型的数组。用户输入他们是否使用过twitter名称、博客网站等

然而,要用simplepie解析这些数据,我需要传递一个URL的数组。。。我失去了我的“类型”选项。无论如何,我可以将其添加回simplepie项目,以便在用户选择特定类型的提要时显示特定图标

$feed = $this->profile_model->get_module_feed();

    $feedarr = array();
    foreach($feed['data'] as $feeds) {
        if ($feeds['type'] == 1 ) {
            $i = "http://api.twitter.com/1/statuses/user_timeline.rss?screen_name=" . $feeds['rss'];
        }
        if ($feeds['type'] == 2 ) {
            $i = "http://search.twitter.com/search.atom?q=" . $feeds['rss'];
        }
        if ($feeds['type'] >= 3 ) {
            $i = $feeds['rss'];
        }

        $d = $feeds['type'];

        //else $i = $feeds['rss'];

        echo $i . " " . $d . "<br />";

        array_push($feedarr, $i);
    }

    $this->simplepie->set_feed_url($feedarr);
    $this->simplepie->enable_cache(false);
    $this->simplepie->init();
    $this->simplepie->handle_content_type();


    $data = $this->simplepie;

    foreach($data->get_items() as $item) { ?>
        <h2><a href="<?php echo $item->get_permalink(); ?>"><?php echo $item->get_title(); ?></a></h2>
        <p><?php echo $item->get_description(); ?></p>
        <p><small>Posted on <?php echo $item->get_date('j F Y | g:i a'); ?></small></p>
    <?php


    }


    }
}


?>
$feed=$this->profile_model->get_module_feed();
$feedarr=array();
foreach($feed['data']作为$feed){
如果($feeds['type']==1){
$i=”http://api.twitter.com/1/statuses/user_timeline.rss?screen_name=“$feeds['rss'];
}
如果($feeds['type']==2){
$i=”http://search.twitter.com/search.atom?q=“$feeds['rss'];
}
如果($feeds['type']>=3){
$i=$feeds['rss'];
}
$d=$feeds['type'];
//else$i=$feeds['rss'];
回声$i.“$d.”
; 阵列推送($feedarr,$i); } $this->simplepie->set\u feed\u url($feedarr); $this->simplepie->enable_cache(false); $this->simplepi->init(); $this->simplepie->handle_content_type(); $data=$this->simplepie; foreach($data->get_items()作为$item){?>

张贴在

例如,如果$feed['type']是1,我想显示与1关联的图像


希望有人能帮助我,因为我有点被难倒了。

您可以使用单个提要项的
提要
属性获取其订阅url,并尝试将其与用于获取的提要url相匹配。下面是一个简化的示例:

// array with unique feed url => feed type (icon)
$feed_types = array(
    'http://feed.one.com/' => 'type1',
    'http://feed.two.com/' => 'type2',
);

$pie = new SimplePie;
$pie->set_feed_url(array_keys($feed_types));
$pie->enable_cache(false);
$pie->init();
$pie->handle_content_type();

foreach ($pie->get_items() as $item) {
    $feed_url = $item->feed->subscribe_url();
    $type = isset($feed_types[$feed_url]) ? $feed_types[$feed_url] : 'unknown type';
    print $type;
}

只要使用相同的url获取嵌入到提要结果中的内容,
subscribe\u ul()
方法的结果应该与
set\u feed\u url()中使用的url对齐

为答案干杯,不幸的是,我无法预见URL将是相同的。用户输入博客或twitter用户名的URL,并根据该类型构建“提要URL”.因此,数据库中的条目与我发送给simplepie的URL不同,也就是说我说的是完全的bs,因为我可以使用该新URL构建另一个具有类型值的数组…干杯!!