RSS链接之间的区别是什么


What is difference between RSS links?

PHP,阅读RSS提要。我的代码运行良好,但不适用于所有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可以阅读这些链接。。而不是我

我希望我的代码在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 />';
    }
}
}

大量的RSS提要实际上是无效的;SimplePie和其他解析器通常会不遗余力地处理这些糟糕的实现,这就是为什么使用这些库比编写自己的库更容易的原因。我们使用SimplePie,有很多提要非常糟糕,甚至SimplePie也会失败。

简而言之;除非你喜欢疼痛和/或有强烈的冲动想要写自己的书,否则使用另一个图书馆。正如您所注意到的,尝试将它们解析为纯XML会非常频繁地失败。