我在我的WordPress站点上显示了一个Google新闻提要,使用以下代码:

$feed = fetch_feed($rss_url); // specify the source feed
$limit = $feed->get_item_quantity(20); // specify number of items
$items = $feed->get_items(0, $limit); // create an array of items
foreach ($items as $item) :
    echo $item->get_description();
endforeach;

问题是,有些文章我需要过滤掉。google新闻项目有guid标记。给定项的guid,如何告诉simplepi忽略给定项?
谢谢-

最佳答案

simplepi还没有内置的过滤函数。但是,您可以选择仅显示您希望的项目:

$feed = fetch_feed($rss_url); // specify the source feed
$limit = $feed->get_item_quantity(20); // specify number of items
$items = $feed->get_items(0, $limit); // create an array of items
$ignoreGUIDs = array("http://example.com/feed?id=1", "http://example.com/feed?id=2");
foreach ($items as $item) :
    if(!in_array($item->get_id(false), $ignoreGUIDs)){
        echo $item->get_description();
    }
endforeach;

get_id() method返回项的<guid><link><title>标记的数组,然后in_array()子句搜索每个$ignoreGUIDs标记的匹配项。如果没有匹配项,则表示该项的guid不在exlusion列表中,因此显示该项(通过echo)。

关于php - 如何使用SimplePie过滤/阻止RSS feed项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6024242/

10-16 16:29