Ankündigung

Einklappen
Keine Ankündigung bisher.

Regex Problem

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Regex Problem

    Hallo zusammen,

    ich möchte alle Sonderzeichen aus einem String in ASCII Zeichen umwandeln. Dazu habe ich folgendes Regex geschrieben, was zumindest von der Suche her auch klappt:

    Code:
    $str = preg_replace('|([^0-9a-zA-Z ])|', ord('\0'), $str, 1);
    Leider wird aber der String "\0" in ASCII umgewandelt und nicht das erste Suchergebnis.

    Auch abwandelungen wie

    Code:
    $str = preg_replace('|([^0-9a-zA-Z ])|', ord($0), $str, 1);
    oder
    Code:
    $str = preg_replace('|([^0-9a-zA-Z ])|', ord(${0}), $str, 1);
    klappen nicht.

    Gibt es eine andere Lösung?

  • #2
    sollte man da nicht lieber mit chr() und ord() arbeiten?

    Kommentar


    • #3
      Wie meinst du das?

      Mit chr() wandele ich doch ein ASCII Zeichen in ein "normales" Zeichen um und ich möchte es umgekehrt machen.

      ord() verwende ich ja bereits...

      Kommentar


      • #4
        kleiner denkfehler bei dir. ord () passiert natürlich vor der ersetzung. du benötigst deshalb den eval-parameter von regExpr:

        Code:
        preg_replace('|([^0-9a-zA-Z ])|e', 'ord("$1")', $str , 1);

        Kommentar


        • #5
          super, das hat geklappt....danke!!!!!

          Kommentar

          Lädt...
          X