Salve, Salve galera ! Como primeiro post aqui no Zoom Digital, estarei postando uma função em PHP para criar uma URL curta com o bit.ly .
Quem usa o Twitter já deve conhecer muito bem as URL curtas, isso porque no Twitter é permitido apenas 140 caracteres, e as vezes as URLs são muito grandes e excedem esse tamanho limite. Podemos utilizar essa função para criar um link “Compartilhe no Twitter” em seu site.
Vejamos um exemplo de URL Curta.
Exemplo :
Url normal: http://www.google.com.br/search?q=zoom+digital&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:pt-BR:official&client=firefox-a (117 caracteres)
Url curta: http://bit.ly/4MfWXN (20 caracteres)
Notaram a grande diferença? 😀
Vamos à função:
/* Função para criar URLS curtas com bit.ly */
function make_bitly_url($url,$login,$appkey,$format = 'xml',$version = '2.0.1')
{
//Criar a url
$bitly = 'http://api.bit.ly/shorten?version='.$version.'&longUrl='.urlencode($url).'&login='.$login.'&apiKey='.$appkey.'&format='.$format;
//Obter url
// tambem poderia usar cURL aqui
$response = file_get_contents($bitly);
//parse depending on desired format
if(strtolower($format) == 'json')
{
$json = @json_decode($response,true);
return $json['results'][$url]['shortUrl'];
}
else //xml
{
$xml = simplexml_load_string($response);
return 'http://bit.ly/'.$xml->results->nodeKeyVal->hash;
}
}
Para usar:
$short = make_bitly_url('http://davidwalsh.name','davidwalshblog','R_96acc320c5c423e4f5192e006ff24980','json');
echo 'A URL curta é: '.$short;
// retornara: http://bit.ly/11Owun
http://davidwalsh.name >> Sua URL normal
davidwalshblog >> Seu usuário do Bit.ly (obter um usuário)
R_96acc320c5c423e4f5192e006ff24980 >> Sua API key (Logo após se cadastrar no Bit.ly, entre no link: http://bit.ly/account/ e do lado esquerdo você visualizará seu usuario de sua API Key)
Espero que tenham gostado ! Até a próxima! 😉
Créditos: Davidwalsh
Como se cria um proprio encurtador de URL sem usar o de terceiros?
Valeu!
What a information of un-ambiguity and preserveness of valuable know-how concerning unexpected emotions.