2013-07-08 26 views
0

如何在通過get_items循環時獲取當前項目的提要url或提要url在提要數組中的位置?如何獲取當前項目的供稿網址?

是這樣的:

foreach ($simplePie->get_items(0,100) as $item) { 
    $rss_url = $item->get_rss_feed(); 
    $position = $item->get_rss_feed_position(); 
} 

UPDATE: 請不是下面的代碼回聲,http://blog.apsltd.com/ 3倍。

$simplePie = new SimplePie(); 
$simplePie-> set_feed_url('http://blog.apsltd.com/feeds/posts/default?alt=rss'); 
$simplePie->init(); 

foreach ($simplePie-> get_items(0, 1) as $item) { 
    $feed = $item->get_feed(); 
    echo($feed->get_permalink()); 
    echo($feed->get_base('href')); 
    echo($item->get_base('href')); 
} 

我也應該注意到,我正在嘗試獲取確切的提要,以便我可以知道它在提要數組中的位置。我需要這個位置,因爲我有第二個數組,其中有一個飼料所屬的類別列表。

回答

0

要獲取資訊提供的網址,你首先需要獲得該項目的飼料對象,然後獲得它的永久鏈接:

$feed = $item->get_feed(); 
$url = $feed->get_permalink(); 

要獲取供稿網址本身,使用$feed->subscribe_url()代替。根據重定向,這可能會或可能不匹配原來的傳入。

至於獲得它的位置,你需要自己在自己的代碼中跟蹤它。 SimplePie沒有(當前)維護飼料的有序版本,所以你需要在你的最後做到這一點。

+0

我以前試過,但沒有返回Feed的網址。 的飼料了SimplePie URL我設置是, http://gdata.youtube.com/feeds/base/users/WestMarineInc/uploads?alt=rss&v=2&orderby=published&client=ytapi-youtube-profile 但是$飼料 - > get_permalink();返回, http://www.youtube.com/channel/UCEcFn6tlj_WpZCBBouZ2VoA/videos –

+0

@Sunny在這種情況下,您希望使用'$ feed-> subscribe_url()'。更新了上面的答案。 –

+0

feed-> subscribe_url()完美地工作。謝謝! –