Захотел создать себе читалку твиттера в сайт, сказано-сделано. RSS считывается и разбирается.
[tt]<?php
$output=’’;
$url = ’
http://twitter.com/statuses/user_timeline/23375275.rss’; //адрес RSS ленты
$rss = simplexml_load_file($url); //Интерпретирует XML-файл в объект
//цикл для обхода всей RSS ленты
foreach ($rss->channel->item as $item) {
//выделяем и оформляем ссылки из общего потока
$l = ereg_replace("+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $item->description);
//выделяем и оформляем имена пользователей @username
$msg = eregi_replace("@([a-zA-Z0-9_]+)", ’<a href="
http://twitter.com/\\1" rel="nofollow">@\\1</a>’, $l);
//вставляем в параграф обработанный выше статус и ставим ссылку на него
$output.=’<p>’.$msg.’ <a href=’.$item->link.’>Читать</a></p>’;
}
return $output;
?>[/tt]
Но. Есть проблема - если звать сниппет в кэшированном виде, то обновление списка статусов не происходит уже никогда, как я понял... Если в некэшированном - есть достаточно частая вероятность, не получается скачать и разобрать новую ленту и иногда проскакивает ошибка бла-бла-бла, вот это и беспокоит. Возможно ли сделать временное кэширование, на какой-то определенный промежуток либо в сниппете либо в самой админке, что-ли.
На особые познания в PHP не претендую, кому надо-пользуйтесь, собрал вообще из найденных в гугле нужных функций, работает и ладно.