私は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)関数がありますが、配列位置によってすべての投稿のリストから特定の投稿を取得しているだけです(これは私が提案するのとほぼ同じ方法です)。