Class php para utilizar o encurtador de URL Zapt.in
Para quem não conhece, o Zapt.in é mais um projeto do Manoel Lemos (@mlemos – fundador do BlogBlogs) para encurtar URLs. Para utilizar a API é preciso que você tenha uma conta no Zapt.in e utilize a chave de acesso (api key) que é fornecida.
A class é bem simples, é possÃvel encurtar e pegar a url original que foi cadastrada no zapt.in.
<?php
//Para encurtar
$Z = new Zapt;
$shorturl = $Z->getShort("http://www.arenageek.com");
echo('url short'.$shorturl);
//Para pegar a url original
echo($Z->getExpandUrl($shorturl));
?>Qualquer sugestão é só comentar.
<?php
/*
* class para encurtar urls utilizando o zapt.in (http://zapt.in)
* mais info: http://zapt.in/pages/api , http://wiki.github.com/mlemos/zaptin-api/
*
* como utilizar
* exemplo:
* $Z = new Zapt;
* $curta = $Z->getShort("http://www.arenageek.com");
* echo('nova url: '.$curta);
* echo('url original: '.$Z->getExpandUrl($curta));
*
*
* @author: eduardo stuart
* @date: 2010-02-07 10:32
**/
class Zapt{
private $url = array("shorten"=>"http://zapt.in/api/links/shorten", "expand"=>"http://zapt.in/api/links/expand");
private $format = "json";
private $version = "1.0";
private $apikey = ""; //sua api key http://zapt.in/pages/api
private $login = ""; //seu login
private $params;
public function __construct(){
if(empty($this->apikey) || empty($this->login)){
die("API key inválida ou login não preenchido");
}
$this->params = "?version=".$this->version."&format=".$this->format."&login=".$this->login."&key=".$this->apikey;
}
public function getShort($strURL){
if($strURL && $this->isValid($strURL)){
$url = $this->url['shorten'] . $this->params ."&longUrl=".$strURL;
$response = $this->Processar($url);
return ($response['errorCode']!=0) ? $response['errorMessage'] : $response['results'][$strURL]['shortUrl'];
}else{
return "URL Inválida";
}
}
public function getExpandUrl($strURL){
if($strURL && $this->isValid($strURL)){
$url = $this->url['expand'] . $this->params ."&shortUrl=".$strURL;
$response = $this->Processar($url);
if(is_array($response)){
preg_match("/\/(([a-z0-9-]+)\/?)$/i",$strURL, $idurl);
return ($response['errorCode']!=0) ? $response['errorMessage'] : $response['results'][end($idurl)]['longUrl'];
}else{
return "Erro ao processar.";
}
}else{
return "URL Inválida";
}
}
/*
* verifica se a url digitada é valida
* validacao retirada do site: http://www.htmlstaff.org/ver.php?id=4355
* @return bool
**/
private function isValid($strURL){
return preg_match('|^http(s)?://[a-z0-9-]+(\.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $strURL);
}
private function Processar($url) {
$crl = curl_init($url);
curl_setopt($crl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($crl);
curl_close($crl);
return ($this->format == "json") ? json_decode($response,true) : $response;
}
}
$Z = new Zapt;
echo 'Exemplo: '.$Z->getShort("http://www.arenageek.com");
?>Para fazer o download , clique aqui.
Postado em: Serviços online





Deixe o seu comentário: