Cu ceva timp în urmă am avut nevoie să postez automat link-uri în cirip.ro folosind API-ul pus la dispoziţie de ei. Problema de care m-am lovit a fost că cirip.ro nu scurtează automat url-urile pe care le scrii în mesajul tău (sau cel puţin nu mi-am dat eu seama cum)
Ca atare, ştiind că există deja sp2.ro, un serviciu românesc gratuit care se ocupă cu transformarea unui url lung într-unul scurt, am scris o bucată simplă de cod care să se folosească de serviciul amintit si să genereze automat link-urile scurtate.
Mai jos ai să găseşti şi o arhivă care conţine codul şi un exemplu de utilizare. Simte-te liber să modifici cum doreşti codul, cu condiţia să respecţi licenţa impusă (Creative Commons Attribution-Share Alike 3.0)
< ?php
/**
* sp2.ro Shortcut
*
* Author: Liviu Hariton <mailto:me@punctweb.com>
* Version: 0.1
* Started: 17 Jul 2009 11:37
*
* Released under the terms of Creative Commons Attribution-Share Alike 3.0 licence
* http://creativecommons.org/licenses/by-sa/3.0/
*/
class Sp2 {
public $link;
/**
* The service root URL
*/
const SP2_HOME = 'http://sp2.ro/';
/**
* Regular expression to match the result
*/
const SP2_REGEXP = '`<a href=".+status=(.*)" target="_blank">da-l pe twitter!</a>`isUm';
/**
* Connect to service and fetch the response
* @return string
*/
private function connect() {
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, self::SP2_HOME);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "url=".$this->link."&submit=Fa-l SCURT!");
$source_output = curl_exec($curl_handle);
curl_close($curl_handle);
return $source_output;
}
/**
* Get the response from the serice and pass on
* @return string
*/
private function getSourceOutput() {
return $this->connect();
}
/**
* Parse the service response and extract the final result
* @return string
*/
public function getShortUrl() {
preg_match_all(self::SP2_REGEXP, $this->getSourceOutput(), $result, PREG_PATTERN_ORDER);
return $result[1][0];
}
}



daca am inteles despre ce e vorba, desi nu-s un priceput in ale internetului, de ce nu incerci http://tinyurl.com/ ?
Mai sunt destule alte servicii de genul… Am preferat sp2.ro pentru ca e romanesc…