我正在使用SimplePie,它让我很头疼。首先,让我解释一下我要做什么。我正在为其创建网站的朋友已经有博客,其中的帖子并不多,我想从那里加载所有项目,解析它们并在标签正确时显示它们。当SimplePie没有加载整个提要但限制为 25 时,问题就开始了。根据这个SO question,默认限制是 10,我还使用 Google Chrome 扩展程序检查了提要,在那里我获得了整个博客内容。澄清一下,这些项目没有被缓存(好吧,实际上它们是)但仍然存在于博客上,所以它们没有被删除,我也没有得到旧内容。另外,我下载了 feed url 并在记事本中打开它,里面有 25 个项目。
这是我的 init() 代码示例:
require_once("php/autoloader.php");
$feed=new SimplePie();
$feed->set_feed_url("http://jadran303.blogspot.com/feeds/posts/default");
$feed->enable_cache(false);
$feed->init();
$feed->handle_content_type();
这是我测试结果并查看我得到的代码(这不是生产版本):
$i=1;$j=1;$k=1;
foreach($feed->get_items() as $item):
echo$k." ".$item->get_title()." - ".$item->get_date('j F Y, g:i a')."<br />";
if($category=$item->get_category()){
echo$j". ".$item->get_title()." - ".$category->get_label()." - ".$category->get_term()."<br />";
if($category->get_label()=="Peugeot 406 Coupé na terenu"){
echo" - $i ".$item->get_title()."<br />";
$i++;
}
print_r($category);
$j++;
}
$k++;
endforeach;
我的问题:
- 如何强制 SimplePie 加载博客中的所有内容?我应该只是“foreach($feed-> get_items(0,10000) as $item):”来加载所有内容并保证终生安全吗?
- 还有其他更适合我需要的 Atom 解析器吗?任何建议都是最受欢迎的。
- 为什么我下载的默认文件中的内容是按标签排序的,标签是空的,但是该术语有正确的关键字?
谢谢您的帮助。