我偶然发现了您的问题,正在寻找有关 simplepie 的其他内容。但是我在使用 simplepie 时确实使用了标识符。所以这似乎是你问题的答案:
我在 PHP 中的 getFeedPosts 函数如下所示:
public function getFeedPosts($numberPosts = null) {
$feed = new SimplePie(); // default options
$feed->set_feed_url('http://yourname.blogspot.com'); // Set the feed
$feed->enable_cache(true); /* Enable caching */
$feed->set_cache_duration(1800); /* seconds to cache the feed */
$feed->init(); // Run SimplePie.
$feed->handle_content_type();
$allFeeds = array();
$number = $numberPosts>0 ? $numberPosts : 0;
foreach ($feed->get_items(0, $number) as $item) {
$singleFeed = array(
'author'=>$item->get_author(),
'categories'=>$item->get_categories(),
'copyright'=>$item->get_copyright(),
'content'=>$item->get_content(),
'date'=>$item->get_date("d.m.Y H:i"),
'description'=>$item->get_description(),
'id'=>$item->get_id(),
'latitude'=>$item->get_latitude(),
'longitude'=>$item->get_longitude(),
'permalink'=>$item->get_permalink(),
'title'=>$item->get_title()
);
array_push($allFeeds, $singleFeed);
}
$feed = null;
return json_encode($allFeeds);
}
如您所见,我构建了一个关联数组并将其作为 JSON 返回,这使得在客户端使用 jQuery 和 ajax(在我的例子中)变得非常容易。
“id”是我博客中每篇文章的唯一标识符。所以这是在另一个功能/另一个页面上识别相同帖子的关键。您只需要迭代帖子并比较此 ID。据我所知,没有 get_item($ID) 函数。有一个 get_item($key) 函数,但它也只是从数组位置的所有帖子列表中取出一个特定帖子(这几乎与我建议的方式相同)。