Simplepieを使用して、正規表現キーワードフィルターに一致するアイテムのフィードをフィルター処理し、それらのアイテムを使用して別のフィードを作成しようとしています。ただし、アイテムを$matches配列からrssブロックに移動するのに問題があります。私はまだPHPの初心者なので、明らかな何かが欠けているかもしれませんが、助けていただければ幸いです。
<?php
$feed = new SimplePie();
$feed->set_feed_url('feed://stackoverflow.com/feeds');
$feed->init();
$feed->set_cache_duration (3600);
$feed->set_timeout(30);
$feed->handle_content_type();
$countItem = 0;
foreach ($feed->get_items() as $item):
$checktitle = $item->get_title();
//Regex keyword filter
$pattern = '/php/i';
//If the there is a keyword match, store in $matches array
if (preg_match($pattern, $checktitle)) {
$matches[$countItem]= $item;
$countItem++;
}
endforeach
?>
<?php if ($success) {
$itemlimit=0;
foreach($matches as $item) {
if ($itemlimit==20) { break; }
?>
//rss block
<item>
<title><?php $item->get_title()); ?></title>
<link><?php echo $item->get_permalink(); ?></link>
<pubDate><?php echo $item->get_date();></pubDate>
<description><![CDATA[<?php echo $item->get_description(); ?>]]></description>
<content:encoded><![CDATA[<?php $item->get_content(); ?>]]></content:encoded>
</item>
<?
$itemlimit = $itemlimit + 1;
}
}
?>