Php RSS链接之间的区别是什么?
PHP,阅读RSS提要。我的代码可以正常工作,但并非适用于所有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]:开始和结
创建链接时出错
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]:开始和结束标记不匹配…
而且,有人告诉我这些链接不是“有效”格式。
但可以很好地阅读这些链接
- 为什么?
- 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提要的人都不能假设提要实际上是有效的;他们需要解决这个无效性问题。