Billet du blogue

Afficher ses « tweets » en PHP

J’ai récemment ajouté mes derniers « tweets » (via Twitter) dans la sidebar de mon blogue. Je voulais partager mon code avec vous. Il vous faudra ceci :

Voici donc le code :

$file = 'http://twitter.com/statuses/user_timeline/14153719.xml?count=10';
$user = 'remiprev';
$cache_id = "twitter";
$cache_options = array(
    'cacheDir' => dirname(__FILE__).'/cache/',
    'lifeTime' => 300
);

require_once('Cache/Lite.php');
require_once('Markdown.php');
require_once('Smartypants.php');

$Cache_Lite = new Cache_Lite($cache_options);

if ($data = $Cache_Lite->get($cache_id)) {
    print '<!-- Le contenu provient de la cache -->';
    print $data;
} else {

    $xml = simplexml_load_file($xml);

    print '<!-- Le contenu ne provient pas de la cache -->';
    $output = "";

    $statuses = $xml->status;
    $compteur=1;

    foreach ($statuses as $status) {
        $permalink = 'http://twitter.com/'.$user.'/statuses/'.$status->id;
        $via = $status->source;
        $date = date('j F à G:i', strtotime($status->created_at));
        $contenu = $status->text;

        // on ajoute des liens automatiques
        $contenu = preg_replace('/(http:\/\/[^\s]+)/','<a href="\\1">\\1</a>', $contenu);

        // on le passe au Markdown-inator!
        $contenu = Smartypants($contenu);
        $contenu = Markdown($contenu);
        $contenu = str_replace('<p>','', $contenu); // on ne veut pas paragraphes!
        $contenu = str_replace('</p>','', $contenu);

        // on ajoute des liens sur les @replies
        $contenu = preg_replace('/\@([^\s\:\.\;\-]+)/','@<a href="http://twitter.com/\\1">\\1</a>', $contenu);

        $output .= '<div class="else post'.(($compteur==1)?' premier':'').'"><p><a href="'.$permalink.'"><span class="date">'.$date.'</span></a><span class="content"> '.($contenu).'<em class="from"> via '.$via.'</em></span></p></div>'."\n";
        $compteur++;
    }

    $Cache_Lite->save($output);

    print $output;

}

Vous pouvez le copier, le modifier et l’utiliser — gratuitement!

P.S. - De grâce, modifier le code HTML généré! J’utilise un DIV car je voulais obtenir le même style que mes billets, mais je devrais utiliser une UL ou une DL.

Posté le avec les tags: et .

Commentaires fermés

Les commentaires pour ce billet ont été désactivés un mois après la date de publication de ce-dernier. Vous désirez exprimer votre opinion sur ce billet malgré le fait que les commentaires aient été désactivés ? Utilisez le formulaire de contact.


Fil atom des commentaires de ce billet0 commentaires

Aucun commentaire n'a été posté pour ce billet.