Я использую SimplePie, и это вызывает у меня головную боль. Во-первых, позвольте мне объяснить, что я пытаюсь сделать. У моего друга, для которого я делаю сайт, уже есть блог с не таким уж маленьким количеством постов и я хочу загрузить оттуда все элементы, разобрать их и отобразить, если метка правильная. Проблема начинается, когда SimplePie загружает не весь фид, а ограничивает до 25. Согласно этому SO question, ограничение по умолчанию равно 10, и я также проверил фид с расширением Google Chrome, где я получил весь контент блога. И чтобы уточнить, элементы не кэшируются (хорошо, на самом деле они есть), но все еще находятся в блоге, поэтому они не были удалены, и я не получаю старый контент. Кроме того, я скачал 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, более подходящий для моих нужд? Любая рекомендация приветствуется.
- почему контент отсортирован по метке, даже в файле по умолчанию, который я скачал, метка пуста, но термин имеет правильные ключевые слова?
Спасибо за помощь.