Zend_Feed_Rss - 我可以回应,但我不能做任何其他事情?

时间:2010-11-21 18:40:15

标签: php zend-feed

我想从给定的Feed源中检索一些Feed消息,只有在特定标签的情况下才会这样。

我没有得到它,因为$ category不是字符串,因此strschr不会返回。 (所以我相信)。

 function ultimasNoticiasBlog()
   {
        $channel = new Zend_Feed_Rss('http:/something.com/?feed=rss2');

        $news = array();

        foreach ($channel as $item) {

            foreach ($item->category as $category)
            {
                //if any of the news has the tag "Sugestão"
                if (strchr($category,'Sugestão'))
                {
                    $news['find'] = "I have found a feed with your tag";
                }
                else
                {
                    echo 'Found Nothing';
                }
            }

          return $news;
      }
   }

但是,如果我这样做: echo $ category“我在视口上打印所有类别。

我没有到这里来的?请指教, MEM

更新: 简单来说: 如果我这样做: var_dump($category);我明白了:

object(Zend_Feed_Element)#159 (3) {
  ["_element:protected"]=>
  object(DOMElement)#165 (0) {
  }
  ["_parentElement:protected"]=>
  NULL
  ["_appended:protected"]=>
  bool(true)
}

object(Zend_Feed_Element)#156 (3) {
  ["_element:protected"]=>
  object(DOMElement)#166 (0) {
  }
  ["_parentElement:protected"]=>
  NULL
  ["_appended:protected"]=>
  bool(true)
}

如果我这样做: echo $ category;

我进入了视口: SugestaoAnotherTag1AnotherTag2 ...

我不明白为什么,更重要的是,我没有看到我怎么能看到“Sugestao是否是这种情况”。 :■

2 个答案:

答案 0 :(得分:1)

我认为你正在寻找this page of the manual

foreach ($channel as $item) {
    echo $item->title() . "\n";
}

在你的情况下,这应该有用(现在不能尝试,告诉我它是否不起作用,我稍后再回复你):

foreach ($channel as $item) {
  //if any of the news has the tag "Sugestão"
  if (strchr($item->category(),'Sugestão')){
     return "I have found a feed with your tag";
  }else {
     return 'Found Nothing';
  }
}

答案 1 :(得分:0)

尝试将其强制转换为字符串:(string)$category