Juergen: URL richtig decodieren? Umlaute

ich möchte einen Satz mittels URL übergeben, so das er anschliessend wieder verwendet werden kann:

Beispiel: $url='www.examole.com?satz=es war in München eine straße';

wäre das so der richtige Weg?

mb_strtolower(str_replace(' ','_',$url ),'UTF-8');

  1. Hello,

    besser wäre url_encode(), oder? Und dann müsste man noch überlegen, ob zusätzlich auch noch html-Codierung vorgenommen werden muss, je nachdem, in welchem Kontext der Satz erscheint.

    Liebe Grüße
    Tom S.

    --
    Es gibt nichts Gutes, außer man tut es
    Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.
  2. Hallo

    ich möchte einen Satz mittels URL übergeben, so das er anschliessend wieder verwendet werden kann:

    Beispiel: $url='www.example.com?satz=es war in München eine straße';

    wäre das so der richtige Weg?

    mb_strtolower(str_replace(' ','_',$url ),'UTF-8');

    Nein. Zum fach- und kontextgerechten maskieren des Inhalts von Querystrings gibt es die Funktion urlencode. Mit ihr wird allerdings nur der Wert als solcher behandelt.

    $value = 'es war in München eine Straße';
    $url = 'http://www.example.com?satz=' . urlencode($value);
    

    Anmerkung 1: Zu einer aufrufbaren URL gehört das Protokoll.
    Anmerkung 2: Die „Straße“ musste ich einfach groß schreiben. Das juckt mir beim lesen in den Fingern.

    Tschö, Auge

    --
    Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
    Toller Dampf voraus von Terry Pratchett