Php RSS链接之间的区别是什么?

Php RSS链接之间的区别是什么?,php,rss,simplepie,Php,Rss,Simplepie,PHP,阅读RSS提要。我的代码可以正常工作,但并非适用于所有RSS链接,例如: 创建链接时出错 http://stackoverflow.com/feeds/tag?tagnames=php&sort=newest https://www.facebook.com/feeds/page.php?id=20669912712&format=rss20 错误消息 分析错误:语法错误,意外的T\u变量… 警告:DOMDocument::load()[DOMDocument.load]:开始和结

PHP,阅读RSS提要。我的代码可以正常工作,但并非适用于所有RSS链接,例如:

创建链接时出错

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

  • 分析错误:语法错误,意外的T\u变量…
  • 警告:DOMDocument::load()[DOMDocument.load]:开始和结束标记不匹配…
这些(以上)RSS链接是我发现的各种类型代码的问题。
而且,有人告诉我这些链接不是“有效”格式。
但可以很好地阅读这些链接

  • 为什么?
  • 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 />';
    }
}
}
类RSSREADER{
私有$xml;
私人物品;;
私人物品;;
公共静态函数_ParseFeeds($link)
{
$self->xml=@simplexml\u load\u文件($link);
echo$self->xml->channel->title.“
”; echo$self->xml->channel->description.“

”; $self->items=$self->xml->channel->item; foreach($self->items as$self->item){ echo$self->item->title.“
”; echo$self->item->description.“
”; } } }
大量RSS源实际上是无效的;SimplePie和其他解析器通常会竭尽全力解决这些糟糕的实现,这就是为什么使用这些库比编写自己的库更容易的原因。我们使用SimplePie,有大量的源非常糟糕,甚至SimplePie都失败了


简言之,除非你喜欢痛苦和/或有强烈的驱动力去编写你自己的,否则请使用另一个库。正如你所注意到的,尝试将它们解析为纯XML通常会失败。

@EI Yobo:
尝试将它们解析为纯XML将失败
??你的意思是feed以各种格式提交???因此请你能告诉我哪些库是最好的吗?--非常感谢你的建议。正如我指出的,我们使用SimplePie;代码是可用的。提要应该符合RSS标准,但通常不符合。任何想要阅读RSS/Atom提要的人都不能假设提要实际上是有效的;他们需要解决这个无效性问题。