2012-07-31 76 views
0

我有一個小問題,我希望有人可以幫我解決。使用simplepie和codeigniter列出設置圖標旁邊的具體飼料類型

下面複製的是一段代碼,它會離開我的數據庫模型並返回一個包含URL和一個提要類型的數組。用戶輸入他們是否使用過twitter名稱,博客網站等。

但是,要用simplepie解析這些數據,我需要傳遞一個URL數組...我失去了我的「類型」選項。無論如何,我可以將其添加回簡單項目,以便在用戶選擇特定類型的Feed時顯示特定的圖標。

$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 


    } 


    } 
} 


?> 

例如,如果$飼料[「型」] 1,我想,以顯示與1

希望有人能幫忙爲我一丁點難倒關聯的圖像!

回答

0

您可以使用個別供稿項目的feed屬性來獲取其訂閱網址,並嘗試將其與用於抓取的供稿網址相匹配。這裏有一個簡單的例子:

// 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_ul()方法的結果應該與set_feed_url()使用的URL一致起來。

+0

乾杯的答案,unfortunatley我不能gaurentee的URL將是相同的。用戶輸入博客或Twitter用戶名的URL,並根據該類型構建「供稿網址」。因此,數據庫中的條目與我發送給simplepie的URL不同 這就是說我正在談論完全的bs,因爲我可以使用該新的URL來構造另一個具有類型值的數組......乾杯! – 2012-08-02 07:27:28