Ich habe meinen Dienst privat konfiguriert, weil nur ich diesen Dienst benutzen möchte. (Rechtslage, Ressourcen usw.) Yourls bietet einem angenehmerweise die Token-Authentifizierung an, so dass ich nicht in jedem Script oder Modul meinen Benutzernamen und mein Passwort in Klartext speichern muss. Eine einfach Funktion für PHP könnte so aussen:

define("TOKEN", "32ba5634721");
define("HOST", "3n2.de");

function shorten($url) {
  $curl = curl_init( "http://". HOST ."/yourls-api.php?signature=". TOKEN . "&action=shorturl&url=". urlencode(trim($url)) . "&format=json" );
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  $retval = json_decode(curl_exec( $curl ));
  curl_close( $curl );

  if (isset($retval->shorturl)) {
    return $retval->shorturl;
  } else {
    return $url;
  }
}

Die Funktion liefert im Erfolgsfall die kurze URL als String zurück. Konnte die Anfrage nicht verarbeitet werden, so erhält man den ursprünglichen String-Inhalt als Rückgabewert.

Allesblog#3n2.de#PHP#yourls