Twitter y Plurk en tu Web o Blog con PHP y SimplePie
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.


























