Mostrar último tweet en una página web
Esta es una de las cosas que encuentro que son bastante útiles para ofrecerle a nuestros clientes en un sitio web. Sobre todo porque ahora está de moda twitter.
Entonces: vamos al grano. Lo primero es saber que es lo que queremos: Publicar el último tweet de algún usuario de twitter en un sitio web.
Para esto, tenemos que tener alguna manera de recibir los datos del usuario, y que mejor que el RSS que ofrece twitter. Este archivo está linkeado en la página de cada usuario y su URL es algo similar a la siguiente:
http://twitter.com/statuses/user_timeline/14057420.rss
El ID de usuario corresponde al número que aparece antes de “.rss”.
Por lo tanto, ahora tenemos que leer el XML de la siguiente manera:
<?
$url="http://twitter.com/statuses/user_timeline/14057420.rss";
$xmlstr = file_get_contents($url);
$xml = simplexml_load_string($xmlstr);
$tweet = $xml->channel->item[0]->title;
echo str_replace("peivem_com: ","",utf8_decode($tweet));
$fecha = $xml->channel->item[0]->pubDate;
$fecha = strtotime($fecha);
?>
En este caso, el usuario es “peivem_com”. Por lo mismo, en la línea 6 del código anterior reemplazamos “peivem_com: ” por “” (nada). Esto lo hacemos porque cada tweet del RSS viene con el nombre de usuario seguido de “: “. De esta manera, sólo dejaremos el tweet del usuario.
En esta misma línea, está la función str_replace(), que recibe 3 datos: el texto a buscar, el texto a reemplazar y el texto original. En este último, pasamos el valor $tweet, pero dentro de la función utf8_decode(), que nos servirá para decodificar los caracteres “raros” que vengan en la cadena, producto de la distinta codificación.
En la línea 7 recibimos la fecha y en la 8 la transformamos a un valor “universal” por así decirlo. De esta manera, donde queramos mostrar la fecha escribiremos la siguiente línea:
<? echo date('d/m/Y',$fecha); ?>
Y eso es todo. Es algo simple y que puede ser modificado fácilmente.



Hola, me gusto tu post, gracias.
Una pregunta:
¿Como haría para que reconosca los enlaces y los imprima como enlaces? ya que con el codigo que propones si un tweet tienen enlaces solo aparece la dirección pero si le haces click no te lleva a ningun lado pues falta el vinculo.
De antemano gracias por tu ayuda.
Saludos.
Hola Angelo.
Tendrías que pasar el cuerpo del tweet por una función como esta:
function autoLinkear($texto){$texto=ereg_replace("[[:alpha:]]+://[^[:space:]]+[[:alnum:]/]", "\",$texto);
return $texto;
}
Suerte!