如何获取当前项目的Feed网址?

时间:2013-07-08 04:39:19

标签: php simplepie

如何在循环浏览get_items时获取Feed项目中当前项目的Feed网址或Feed网址的位置?

类似的东西:

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

更新: 请不要使用下面的代码回声,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'));
}

我还应该注意,我正在尝试获取确切的Feed,以便我可以知道它在Feed数组中的位置。我需要这个位置,因为我有一个第二个数组,其中包含了Feed所属的类别列表。

1 个答案:

答案 0 :(得分:0)

要获取Feed的网址,首先需要获取该项的Feed对象,然后获取其永久链接:

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

要获取Feed网址,请改用$feed->subscribe_url()。根据重定向,这可能与传入的原始内容相匹配,也可能不相符。

至于获得它的位置,你需要在自己的代码中自己跟踪它。 SimplePie不(目前)维护订阅源的订购版本,因此您需要在最终完成此操作。