Modellera URL:ar
2013-06-18 -
0
Jag byggde två funktioner för att plocka isär och skapa URL:ar för en stund sedan. Det var så ofta jag satt och försökte skapa eller tolka dem manuellt så livet blev bra mycket enklare med dessa två funktioner.
<?     function extract_url($string false){         if (!$string$string $GLOBALS["protocol"] . "://" $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];         $url parse_url($string);         $url["querystring"] = $url["query"];         parse_str($url["query"], $url["query"]);         $url["path"] = preg_replace("!/+!""/"$url["path"]);         return $url;     } ?>
<?     function create_url($a$onlypath false$encodeamp false){         if (!is_array($a)) $url $a;         if (is_array($a["query"])) {             $a["query"] = array_map(function ($r){                 if ($r) return $r;             }, $a["query"]);             $a["query"] = http_build_query($a["query"]);         }         if (!$a["host"]) $a["host"] = $_SERVER["HTTP_HOST"];         if (!$a["scheme"]) $a["scheme"] = "http";         if (!$a["path"]) $a["path"] = $_SERVER["PHP_SELF"];         #if ($encodeamp) $a["query"] = preg_replace("/&/", "&amp;", $return);         $return http_build_url($url$a);         $return preg_replace("/?$/"""$return);         if ($onlypath$return preg_replace("/^[a-z]{3,5}://[a-z,.,-]+/"""$return);         return $return;     } ?>
Och det är lika enkelt som det ser ut. Det ger snabbåtkomst till ett par av PHP's inbyggda funktioner för att tolka URl:ar och normaliserar det. Enkelt och smidigt.

extract_url()

print_r(extract_url("http://sandman.net/index.php?mode=list")); Array (    [scheme] => http    [host] => sandman.net    [path] => /index.php    [query] => Array    (    [mode] => list    )    [querystring] => mode=list )

create_url()

$url = extract_url("http://sandman.net/index.php?mode=list"); $url["query"]["mode"] = "show"; print create_url($url); http://sandman.net/index.php?mode=show
Pricken över i:et :)
Bakbord
Nytt projekt på gång, bakbord till svärfar :)
“Gå och lägg dig” - ”Nej jag kollar på TV med Leia” :)
Extrabord till jul
Extrabord till julafton klart! Byggvideo kommer inom kort på min youtube :)
Weehoo, jag har en egen stämpel nu. Det ni!
Bordskiva oljad och vaxad, ben borstade och betsade. Kanske blir ett bord till slut?
Bordsskiva betsad. Ska slipas/borstas och sen oljas.
Renoverat vardagsrumsbord
Favoritbild från dansuppvisningen igår
Bordsskiva limmad, hyvlad, slipad och sen borstad. Betsning nästa
Limmar bordsskiva
Nu är garaget äntligen utröjt och vi slipper skrapa ruta i morgon!
Vaxad och oljad! Nu ska den fotas och sen ska man hitta en köpare!
Eklist på, slipat och borstat hela bordet. Bara vax/olja kvar
Familjehög som ser på Stranger Things
Efter man blötlagt listen ska den spännas på plats så den torkar till rätt form. Klurigt!
När man ska blötlägga en tre meter lång eklist så får man trixa lite!
Nattduksbord
PanPastel-porträtt
Crock Pot
PanPastel
Tron för Sigge
Road Trip Italien!
Verkstad Remake
Jonas och Jenna
Brud som chillar
Showing off
Undressing
Touch thyself
Hot Love
Profilporträtt
Resa utan kamera?
Paus
Supernöjd med folieringen!
Bilen ska folieras!
Ny såg
PHP och BankID
Jack Skellington
Verkstadsplaner
Magnettavla
Verandatak och grillhörna!
Vardagsrumsbord
Knivblock
Kökshylla
Ny ikon för karta
PC-bygge
Kerlee 35mm f/1.2
Objektivhylla
Natalie Dormer
Hållare till kattmatsskålar
Hälsningar från Norge
With a little help from my friends...
The Most Incredible Fantasy Maps You've Ever Seen
Cityfestivalen
Mitakon Speedmaster 50mm/f0,95
10 minuter vatten
Sony A7R II
Petzval 58 Bokeh Control Art Lens
Scrawlrbox
Nya skärmar till jobbet
Nikon Df - ny leksak
Boba Fett
First Order Storm Trooper
Mikisen
#inlineditbutton