Warum McDonalds an der Frage „Zum Mitnehmen oder hier essen?“ unter Umständen kräftig kassiert, klärt extra 3. Also werde ich ab bald wieder ein Tablett statt der Papiertüte nehmen…
Archiv für den Monat: Mai 2008
Löschen von einzelnen Variablen aus URLs
Als ich mir heute einen eigenen Referer-Logger zusammengefummelt habe, suchte ich nach einer Möglichkeit, einzelne Variablen aus URLs löschen zu können. Google ist beispielsweise für Konstrukte wie http://www.google.nl/search?q=Joachim+Fest+Ich+nicht&hl=nl&start=50&sa=N bekannt. Das kann ich zwar schön speichern, aber wenn nun jemand mit dem Referer http://www.google.nl/search?q=Joachim+Fest+Ich+nicht&hl=nl&start=10 die Seite betritt, würde dies als neuer Eintrag gespeichert werden, obwohl mich gerade bei Google nicht juckt, über welche Unterseite mit welchem kryptischen Parameterwust ein Besucher meine Seite gefunden hat. Also habe ich da mal was gestrickt. Die Funktion deleteFromURL bekommt eine URL und ein Array zu löschender Variablen eingetrichtert und liefert die bereinigte URL. So wird aus obigem Beispiel, mit dem richtigen Array, die bereinigte URL http://www.google.nl/search?q=Joachim+Fest+Ich+nicht.
function deleteFromURL ( $url, $queriesToDelete ) { $parsedURL = parse_url ( $url ); parse_str ( $parsedURL['query'], $parsedQuery ); foreach ( $queriesToDelete as $single ) { if ( isset ( $parsedQuery[$single] ) ) { unset ( $parsedQuery[$single] ); } } $url = $parsedURL['scheme'] . '://' . $parsedURL['host'] . $parsedURL['path'] . '?' . http_build_query ( $parsedQuery ); return $url; }