Simplepie - 每个项目解析多个类别

时间:2014-01-14 11:57:18

标签: rss simplepie

尝试使用每个项目包含多个类别的项目来解析rss Feed。原始文件是一个原子结构的feed,我使用simplexml解析并将某些元素作为rss feed输出。原始原子文件中的多个类别被声明为category元素的属性。我正在尝试根据定义的任何类别显示项目。因为它现在是simplepie只识别第一类。简化的代码如下:

<item>
    <title>Banana</title>
    <category>Fruit</category>
    <category>Yellow</category>
</item>


<item>
    <title>Apple</title>
    <category>Round</category>
    <category>Fruit</category>
</item>

// display all titles from items with category 'Fruit'

<?php



foreach ($feed->get_items() as $item): 
        if( 
            $item->get_category()->get_label() == 'Fruit' 
        ):

    echo $item->get_title();

endforeach; 


// result - displays only Banana but not Apple

1 个答案:

答案 0 :(得分:1)

在最新版本(截至本文的1.3.1)中,项目类中有两个函数:

public function get_category($key = 0)

public function get_categories()

您可以使用第一个并传入所需类别的键,或者只使用第二个函数,获取所有类别(get_categories文档)并使用PHP的array_search函数。