Twitter y Plurk en tu Web o Blog con PHP y SimplePie

Recomienda este artículo Versión imprimible
Publicado por MijT el 10/Jun/2008 en PHP y MySQL | 890 Lecturas | 0 comentarios
El día de ayer me puse a usar estos dos servicios de microblogging, Twitter y Plurk, aunque para ser sincero, ya estaba registrado en Twitter desde hace 1 año pero tenía la cuenta sin usarla, y bueno hace unos 4 días venía probando algunas cosas con la librería SimplePie para recoger datos de archivos RSS y entonces se me ocurrió agregar en mis blogs CelulaWeb y Cinespectaculo bloques con mis últimos post en Twitter y Plurk haciendo uso de esta librería y un poco de PHP.

El resultado obtenido lo pueden ver en el menú lateral de este blog donde titula "Sígueme en Twitter" y el código fuente para ambos casos no es nada complicado, hasta se puede mejorar con un poco de ingenio, lo único que necesitamos es la dirección de nuestro archivo RSS tanto de Twitter como de Plurk, la librería SimplePie que deberán descargar y subir a tu hosting, además de crear una carpeta llamada cache, y el código fuente vendría a ser el siguiente:

Para Twitter o Plurk(10 últimos post)
<?php
    
// a este archivo lo pueden llamar mitwitter.php o miplurk.php según sea el caso
    
include('simplepie.inc'); // incluímos la librería SimplePie
    // cambiamos el formato de la fecha del archivo RSS al modo "días transcurridos, horas transcurridas, minutos transcurridos"
    
define('SIMPLEPIE_RELATIVE_DATE''YmdHis');
    function 
doRelativeDate($posted_date) {
        
$in_seconds strtotime(substr($posted_date,0,8).' '.
                      
substr($posted_date,8,2).':'.
                      
substr($posted_date,10,2).':'.
                      
substr($posted_date,12,2));
        
$diff time()-$in_seconds;
        
$months floor($diff/2592000);
        
$diff -= $months*2419200;
        
$weeks floor($diff/604800);
        
$diff -= $weeks*604800;
        
$days floor($diff/86400);
        
$diff -= $days*86400;
        
$hours floor($diff/3600);
        
$diff -= $hours*3600;
        
$minutes floor($diff/60);
        
$diff -= $minutes*60;
        
$seconds $diff;
     
        if(
$months>0) {
            
// fecha de publicación en el formato dd/mm/YYYY
            
return substr($posted_date,4,2).'/'.substr($posted_date,6,2).'/'.substr($posted_date,0,4);
        }else {
            if(
$weeks>0) {
                
// semanas y días transcurridos
                
$relative_date .= ($relative_date?', ':'').$weeks.' semana'.($weeks>1?'s':'');
                
$relative_date .= $days>0?($relative_date?', ':'').$days.' día'.($days>1?'s':''):'';
            }elseif (
$days>0) {
                
// días y horas transcurridas
                
$relative_date .= ($relative_date?', ':'').$days.' día'.($days>1?'s':'');
                
$relative_date .= $hours>0?($relative_date?', ':'').$hours.'h'.($hours>1?'':''):'';
            }elseif (
$hours>0) {
                
// horas y minutos transcurridos
                
$relative_date .= ($relative_date?', ':'').$hours.'h'.($hours>1?'':'');
                
$relative_date .= $minutes>0?($relative_date?', ':'').$minutes.'min'.($minutes>1?'':''):'';
            }elseif (
$minutes>0) {
                
// sólo minutos transcurridos
                
$relative_date .= ($relative_date?', ':'').$minutes.'min'.($minutes>1?'':'');
            }else {
                
// sólo segundos transcurridos
                
$relative_date .= ($relative_date?', ':'').$seconds.'seg'.($seconds>1?'s':'');
            }
        }
        return 
$relative_date;
    }
    
$feed = new SimplePie();
    
$feed->set_feed_url('URL DE TU ARCHIVO RSS DE TWITTER O PLURK');
    
$feed->init();
    
$new = array();
    foreach(
$feed->get_items() as $item) {
        
$new[] = $item;
    }
    
$itemlimit 0;
    foreach(
$new as $item) { // hacemos un bucle que nos devolverá los posts
        
if($itemlimit==10) { break; } // con esto limitamos a que sólo se muestren 10 posts puedes editarlo y mostrar los que desees
        
$link $item->get_permalink();
        
$fecha doRelativeDate($item->get_date(SIMPLEPIE_RELATIVE_DATE));
        
$title utf8_decode($item->get_title());
?>
        <a href="<?=$link?>" target="_blank"><strong><?=$fecha?>:</strong></a><br />
        <?=$contenido?>
<?php
        $itemlimit 
$itemlimit 1// aumentamos un post en cada pasada del bucle
    
}
?>


Ahí lo tienen, como repito, no es muy complicado el script es el mismo para ambos casos, sólo varía la URL del archivo RSS y listo, en la web de SimplePie tienen más ejemplos sobre cómo aplicar esta librería, espero que les pueda ser útil.
Etiquetas:
Compártelo:
Enviar a Del.icio.us Enviar a Technorati Enviar a Barrapunto Floréalo Enviar a Menéame Enviar a Facebook Enviar a Google Bookmarks Enviar a Yahoo! Enviar a Bitacoras Enviar a Webéame Enviar a Digg Enviar a Fresqui Enviar a Furl Enviar a NeoDiario Enviar a Wikio

Artículos Relacionados

No hay post relacionados
0 Comentarios a: Twitter y Plurk en tu Web o Blog con PHP y SimplePie
Comenta este artículo

Nos encantaría que dejaras tu comentario acerca de esta entrada, pero para ello debes tener en cuenta lo siguiente:

  • No escribas todo el texto en mayúsculas.
  • Procura que tus comentarios estén relacionados con lo que se ha publicado en esta entrada.
  • Respeta a los demás lectores de este blog. Si hay algún comentario que no es de tu agrado, expón tus ideas de forma alturada.
  • No utilices groserías en tus comentarios.

Los comentarios que incumplan los puntos mencionados serán eliminados inmediatamente.

Para escribir tu comentario dispones de un editor de texto para agregar negrita, cursiva, subrayado, links, etc. Si no sabes cómo usarlo, entra aquí