Udskift URL med funktion
Hej Eksperter.Jeg har et problem - givetvis med en simpel løsning, men jeg kan ikke lige finde ud af det.
Jeg ønsker at forkorte nogle adresser i en tekst. Til dette har jeg valgt at bruge siden http://is.gd/ og jeg har en funktion, som gør dette. Jeg har så tænkt mig at benytte preg_replace() til at udskifte alle hjemmesideadresser med en kortere adresse.
Koden ser således ud:
function get_isgd_url($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,'http://is.gd/api.php?longurl='.$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}
$string = "This is some text with a URL http://youtube.com/";
echo preg_replace('@(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)@', get_isgd_url('$1'), $string);
Jeg ved bare ikke, hvordan jeg får preg_replace() til at køre get_isgd_url() på $1. Som det er nu, kører den naturligvis get_isgd_url() på selve teksten $1 - og ikke på dennes værdi.
Kan nogen hjælpe mig?
