Expandera korta URL:ar
När man jobbar med att tolka Twitterstatusar och liknande så inser man snabbt att man ofta hanterar korta URL:ar, alltså en URL som används som en redirect till en annan URL för att bli kortare för att rymmas i en statusuppdatering på ett snyggt sätt.
Men i regel så vill jag inte hantera korta url:ar, utan vill ha originaladressen, så jag skrev en liten funktion för att expandera dessa URL:ar som ser ut så här:
<?     function expand_url($url){         $ourl $url;         if ($return get_cache_data($url"1 month""AAA")) return $return;         while (1){             $nr++;             if ($nr 10){                 return $url;             }             if (strstr($url"www")) return $url;             if ($redirect get_url_redirect($url)){                 $url $redirect;             } else {                 save_cache_data($ourl$url"AAA");                 return $url;             }         }     }     function get_url_redirect($url){         $curl shell_exec($GLOBALS["curl_path"] . " -I -# '" addslashes($url) . "'");         if (preg_match("/Location: (.*?)s/"$curl$m)){             return $m[1];         } else {             return false;         }     } ?>
Så, vad den gör är att den loop:ar tills den har hittat originaladressen (eller högst tio gånger). Detta går inte snabbt, eftersom den kontaktar servarna för att hitta en "Location:" header och sedan kontrollera även den tills dess att sidan inte har någon Location-header. Så för en adress som är "förkortad" endast en gång så görs två förfrågningar, om inte adressen har innehåller "www", vilket i regel betyder att adressen inte är en förkortad version.
Så här använder du den:
print expand_url("http://flpbd.it/hNFJN");
Vill du byta ut alla adresser i en textsträng mot eventuella längre versioner av dem, använd då detta:
$string = preg_replace_callback("!(http://[^s]*)!", create_function('$matches', 'return expand_url("$matches[0]"wink;'), $string);
Kanske någon som har användning för detta?
Mer i Tutorials
Modellera URLar
PHP Formatera telefonnummer
Skapa ett Netflixprogram
Expandera korta URLar
Parsea hashtaggar
Repeterande schema i iCal med AppleScript
Vlj datumspann med jQuery
Nyckelord: php, shorturl, short link, expanding url eller expandera
OAuth fungerar inte
Hur nya iPaden stller till det p webben
Layoutmotor fr Atlas
Bygg MySQLqueries automatiskt
Min feed
Rkna tid med PHP
Porträtt av u/elizabeeeef
Jämförelse 135 mm
Porträtt av kompis mamma
Använda utrymmet under trappen
Spelbord
Pimpning av köks-ön
Jag saknar min Dodge!
Acrylic drip
Renoverad ateljé
Nytt hemmakontor
Ny tatuering
Fågel Fenix

Vilken locksång väcker din uppmärksamhet?
Grace
I’m a lumberjack and I’m ok
Dodgen upplagd för försäljning
Gamingstol som kontorsstol
Sun and Stars
Barking up the wrong tree
Light at the end of the tunnel
Serveringsbricka
Regntunnor och grus
Pergola
Uppdatering av ikoner
Renoverat sidobord
Malin och Alex bröllop
Pizza på grillen
Myst linking book and Gehn's Inkwell
Utebord
Bord i biorummet
Mattsvart Dodge
Susann's gravidmage
Simson och Isi
Det blev en Volvo XC90
Ny bil?
Vardagsrumsbord
Altantak
Steven och Susann's bröllop
Trapprenovering
Semesterplanering

En sak jag saknat väldigt länge är en app på till exempel iPad där man kan lägga upp sina sommarplaner. Vi skriver ju givetvis upp i kalendern när vi tar semester, när det är skollov och liknande, men det trängs ju med en massa annat onödig information när man vill sätta sig ned och planera semester, ledighet, aktiviteter. Man vill gärna ha en sjysst översikt över bara det som ...
Paulig och Release Finans

Detta är helt galet. 2015 så skaffade vi en rätt så high end-espressomaskin till kontoret. En Thermoplan One. Företaget som levererade den heter Paulig och med dem skrev vi ett hyresavtal på maskinen.
Mother of Dragons
Maleficent
Bakbord
Extrabord till jul
Renoverat vardagsrumsbord
Nattduksbord
Crock Pot
PanPastel
Tron för Sigge
Road Trip Italien!
#inlineditbutton