Agregador de redes sociais em PHP
Cenário
Atualmente temos uma diversidade de conteúdo espalhado sob diversas formas, seja através de fotos, comentários, tweets, blogs, links favoritos, etc. Como exemplo podemos citar as redes: Flickr, Last.fm e Twitter.
Não seria interessante agregá-los em uma página ?
Isso pode ser feito utilizando a classe SimplePie, de código aberto, fácil utilização, escrita em PHP e que nos ajudará a trabalhar com o RSS necessário para a manipulação dos dados.
Ela pode ser encontrada em: http://simplepie.org/downloads/.
Utilização
Primeiramente precisamos coletar os feeds desejados.
Para isso, acesse seus perfis (ou de quem você deseja seguir) e guarde as URLs que geralmente estão nos ícones de RSS.
Precisamos realizar um simples teste de compatibilidade (já disponível no pacote) para verificarmos se o servidor que rodará a aplicação oferece suporte completo à classe. Esse teste encontra-se na pasta "compatibility_test".
Devemos criar uma pasta para o cache da aplicação. Basicamente ela armazenará certificados.
Exemplo
Definindo path da classe e variáveis de configuração
<?php require_once('./simplepie/simplepie.inc'); $cache = "./rsscache"; $duration = 2000;
Definindo os feeds
// Para o blog e twitter utilizamos o perfil da Stiod, como exemplo $blog = new SimplePie("http://blog.stiod.com/rss.xml", $cache, $duration); $twitter = new SimplePie("http://twitter.com/statuses/user_timeline/17368651.rss", $cache, $duration); // Substitua PERFIL pelo desejado $lastfm = new SimplePie("http://ws.audioscrobbler.com/2.0/user/PERFIL/lovedtracks.rss", $cache, $duration);
Função para transformar os nomes em links diretos
function twitterify($ret) { $ret = preg_replace("#(^|[\n ])([\w]+?://[\w]+[^ \"\n\r\t< ]*)#", "\\1<a href=\"\\2\">\\2</a>", $ret); $ret = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r< ]*)#", "\\1<a href=\"http://\\2\">\\2</a>", $ret); $ret = preg_replace("/@(\w+)/", "<a href=\"http://www.twitter.com/\\1\">@\\1</a>", $ret); $ret = preg_replace("/#(\w+)/", "<a href=\"http://search.twitter.com/search?q=\\1\">#\\1</a>", $ret); return $ret; }
Para carregarmos os itens, utilizamos uma estrutura de repetição como a seguinte
<?php foreach ($twitter->get_items() as $item) : ?> <li> <?php echo twitterify(str_replace("raena: ", "", $item->get_title())); ?> <a href="<?php echo $item->get_link(); ?>"><?php echo $item->get_date(); ?></a> </li> <?php endforeach; ?>
Baixe o exemplo completo do agregador
Esse foi um exemplo básico, entretanto, não ficamos restritos ao exposto, é possível fazermos aplicações com maiores funcionalidades.
Para isso, acesse o Wiki, onde existem inclusive plugins para a extensão da classe.
2 Comentário para “Agregador de redes sociais em PHP”
Deixe um comentário |


Muito obrigado pela ótima dica.
Um, interessante, vou testar essa classe aqui