【发布时间】:2012-10-14 22:12:01
【问题描述】:
我正在使用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 解析器吗?欢迎任何建议。
- 为什么我下载的默认文件中的内容是按标签排序的,标签是空的,但是term的关键字是对的?
感谢您的帮助。
【问题讨论】: