Spanky: Alle %20 durch Leerzeichen ersetzen

Hat jemand ein Script für mich, das aus einem String alle %20 durch Leerzeichen ersetzt?

  1. Hat jemand ein Script für mich, das aus einem String alle %20 durch Leerzeichen ersetzt?

    Falls du mit Script sowas meinst wie Perl, dann ersezt dir dies

    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

    alle HexWerte.

    Falls dir das nur um die %20 geht, dann kannst du eigentlich

    $value =~ s/% 20/\ /g;

    nehmen.

    srm

    1. Hallo !

      Ich habe vor kurzem ein CGI Programm in C gefunden.
      Dabei bin ich ueber folgende Zeile gestolpert:

      digit = (what[0] >= 'A' ? ((what[0] & 0xdf) - 'A')+10 : (what[0] - '0'));

      Diese Zeile wandelt die ersetzten Zeichen von Netscape in die urspruenglichen um (in diesem
      Fall die 1. Zahl).   ( %Xx )

      Ich verstehe nur nicht wozu das Bitweise & gut sein soll ? (what[0] & 0xdf)
      Kann mir da jemand helfen ???

      Danke
        Torsten

  2. Hat jemand ein Script für mich, das aus einem String alle %20 durch Leerzeichen ersetzt?

    Sorry, aber bedeutet überhaupt dieses "%20" ????
    Ich hatte mal in einer selbstenpackenden EXE eine kleine HTML-Dokumentation (etwa 30 Dateien)heruntergeladen. Die Hälfte der Links funktionierten nicht, weil überall in deren Definition dieses "%20" zu sehen war. Ich mußte diese dann löschen, damit die Namen gleich waren wie die der Dateien im Verzeichnis.

    Patrick

  3. Zur 1. Nachricht: Das %20 Bedeutet ein Leerzeichen in der URL (Test.htm?Hallo%20wie%20geht's? ist das gleiche wie Test.html?Hallo wie geht's?, allerdings kann man in einer URL keine Leerzeichen verwenden.

    Zur 2.: Ich meine eigentlich ein JavaScript, weil ich Überschriften (z.B. 'Unsere Links') mit document.search an andere Dateien übergeben will. Mit NN funktioniert das auch, aber mit dem IE wird ein Leerzeichen durch %20 ersetzt.

    1. Zur 1. Nachricht: Das %20 Bedeutet ein Leerzeichen in der URL (Test.htm?Hallo%20wie%20geht's? ist das gleiche wie Test.html?Hallo wie geht's?, allerdings kann man in einer URL keine Leerzeichen verwenden.

      Zur 2.: Ich meine eigentlich ein JavaScript, weil ich Überschriften (z.B. 'Unsere Links') mit document.search an andere Dateien übergeben will. Mit NN funktioniert das auch, aber mit dem IE wird ein Leerzeichen durch %20 ersetzt.

      hm.

      da ist es vielleicht sinniger, du uebergibst nicht

      "Unsere Links"

      sondern lieber

      "Unsere+Links"

      denn es ist wie du schon schreibst, muss alles nach dem "?" im Url in
      einen bestimmten mime-typ (application/x-www-form-urlencoded) stehen,
      d.h.: Leerzeichen werden zu "+", alles was nicht us-Buchstabe ist
      wird zum Hexadezimal-Code:

      zb:

      "Stefan+M%FCller"

      In Javascript solltest du dir mal die Funktionen escape() und unescape()
      ansehen.

      Gruesse

      Stefan R. Mueller