2010-07-25 3 views
0

J'ai un joli petit widget twitter sur mon site qui a été créé en utilisant php. J'aimerais pouvoir m'assurer que lorsqu'un lien apparaît, il est cliquable ou lorsque je renvoie un lien à son profil. Toute aide est grandement appréciée.Ajouter des liens vers PHP qui tire le dernier tweet de compte Twitter

<?php 

function getTwitterStatus($userid){ 
$url = "http://twitter.com/statuses/user_timeline/$userid.xml?count=1"; 

$xml = simplexml_load_file($url) or die("could not connect"); 

     foreach($xml->status as $status){ 
     $text = $status->text; 
     } 
     echo $text; 
} 

getTwitterStatus("UltanKC"); 

?> 

Répondre

3

J'ai une fonction que j'utilise pour cela - il sera faire des liens pour les URL, les noms d'utilisateur Twitter et les hashtags Twitter.

function auto_link_twitter ($text) 
{ 
    // properly formatted URLs 
    $urls = "/(((http[s]?:\/\/)|(www\.))?(([a-z][-a-z0-9]+\.)?[a-z][-a-z0-9]+\.[a-z]+(\.[a-z]{2,2})?)\/?[a-z0-9._\/~#&=;%+?-]+[a-z0-9\/#=?]{1,1})/is"; 
    $text = preg_replace($urls, " <a href='$1'>$1</a>", $text); 

    // URLs without protocols 
    $text = preg_replace("/href=\"www/", "href=\"http://www", $text); 

    // Twitter usernames 
    $twitter = "/@([A-Za-z0-9_]+)/is"; 
    $text = preg_replace ($twitter, " <a href='https://twitter.com/$1'>@$1</a>", $text); 

    // Twitter hashtags 
    $hashtag = "/#([A-Aa-z0-9_-]+)/is"; 
    $text = preg_replace ($hashtag, " <a href='https://twitter.com/hashtag/$1'>#$1</a>", $text); 
    return $text; 
} 

pour l'utiliser avec votre code, modifiez la ligne qui fait écho à la situation:

echo auto_link_twitter ($text); 
+0

Où puis-je insérer la pièce de fonction plus grande du code? Est-ce que je remplace echo $ text; } avec echo auto_link_twitter ($ text); –

+0

Je l'ai eu le travail. J'étais un peu noobish. Merci! –

0

On dirait que celui-ci est assez complet via googler 'twitter php liens automatiques'

(de http://www.snipe.net/2009/09/php-twitter-clickable-links/):

function twitterify($ret) { 
    $ret = preg_replace("#(^|[\n ])([\w]+?://[\w]+[^ \"\n\r\t< ]*)#", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret); 
    $ret = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r< ]*)#", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret); 
    $ret = preg_replace("/@(\w+)/", "<a href=\"http://www.twitter.com/\\1\" target=\"_blank\">@\\1</a>", $ret); 
    $ret = preg_replace("/#(\w+)/", "<a href=\"http://search.twitter.com/search?q=\\1\" target=\"_blank\">#\\1</a>", $ret); 
    return $ret; 
} 
Questions connexes