RSS链接有什么区别?

时间:2011-05-24 00:31:15

标签: php rss simplepie

PHP,阅读RSS Feed。我的代码工作正常但不适用于所有RSS链接,例如:

发布链接错误

  • http://stackoverflow.com/feeds/tag?tagnames=php&sort=newest
  • https://www.facebook.com/feeds/page.php?id=20669912712&format=rss20

错误消息

  • Parse error: syntax error, unexpected T_VARIABLE ...
  • Warning: DOMDocument::load() [domdocument.load]: Opening and ending tag mismatch ...

这些(上面)RSS链接是我发现的各种类型代码的问题 并且,人们说我这些链接不是“有效”的格式 SimplePie可以很好地阅读这些链接

  • 为什么?
  • SimplePie可以阅读这些链接..而不是我?

我希望我的代码能够很好地处理所有Feed,例如SimplePie ..;(
...... ...
这是我正在使用的类的简短代码示例:

class RSSREADER {
private $xml;
private $items;
private $item;

public static function _ParseFeeds ($link)
{
    $self->xml = @simplexml_load_file($link);
    echo $self->xml->channel->title.'<br />';
    echo $self->xml->channel->description.'<br /><br />';

    $self->items = $self->xml->channel->item;
    foreach ($self->items as $self->item) {
        echo $self->item->title.'<br />';
        echo $self->item->description.'<br />';
    }
}
}

1 个答案:

答案 0 :(得分:2)

大量的RSS源实际上是无效的; SimplePie和其他解析器经常竭尽全力解决这些可怕的实现,这就是为什么使用这些库比编写自己的库更容易。我们使用SimplePie,那里有很多非常糟糕的源,甚至SimplePie都失败了。

总之;除非你喜欢痛苦和/或有一些可怕的驾驶强迫自己编写,否则请使用另一个图书馆。正如您所注意到的那样,尝试将它们解析为纯XML将非常频繁地失败。

相关问题