1

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;
    }
    }
    ?>
4

2 に答える 2

0

ヘッダー、Doctype、その他すべての種類のものを適切に設定していますか?フレームワークまたはXML/RSSライターを使用して応答を作成することをお勧めします。これは、手動で作成するよりもはるかに簡単です。

于 2012-04-25T20:09:19.693 に答える
0

$ successはどこかに設定されていますか?(あなたはあなたが明白な何かを逃しているかどうか尋ねました!:D)

于 2012-04-25T22:38:47.173 に答える