Adicionar links para PHP que puxa mais recente tweet da conta Twitter

votos
0

Eu tenho um widget do twitter pouco agradável no meu site que foi criado usando php. Eu gostaria de ser capaz de certificar-se de que, quando aparece um link é clicado ou quando eu @reply alguém que liga ao seu perfil. Qualquer ajuda é muito apreciada.

<?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);

?>
Publicado 25/07/2010 em 14:54
usuário
Em outras línguas...                            


2 respostas

votos
0

Parece que este é bastante abrangente via googling 'Twitter php ligações automáticas'

(a partir 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;
}
Respondeu 25/07/2010 em 14:58
fonte usuário

votos
3

Eu tenho uma função que eu uso para isso - ele vai fazer ligações para URLs, nomes de usuário do Twitter e hashtags do 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;
}

para usá-lo com o seu código, edite a linha que ecoa o status:

echo auto_link_twitter ($text);
Respondeu 25/07/2010 em 14:58
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more