[REGEX] eregi_replace und reguläre Ausdrücke

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

  • [REGEX] eregi_replace und reguläre Ausdrücke

    Hallo,

    innerhalb einer Zeichenkette möchte ich am Satzende alle Leerzeichen vor einem Ausrufungszeichen löschen.


    $message_array[$x] = eregi_replace(" \!", "!", $message_array[$x]);
    Funktioniert. Leider nicht, wenn es mehrere Leerzeichen sind!

    $message_array[$x] = eregi_replace("([a-z[:space:]+])\!", "!", $message_array[$x]);
    Funktioniert, aus "Hallo !" wird "Hallo!". Leider wird aber aus "Hallo!" auch "Hall!".


    Weiß jemand, wie es richtig lauten muß?


    LG
    LuLa

  • #2
    $string = preg_replace("|([ ])([!])|s", "\\2", $string);
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      Original geschrieben von schmalle
      $string = preg_replace("|([ ])([!])|s", "\\2", $string);
      Dankesehr!


      Eine Frage habe ich noch:
      wie könnte ich diese Funktion so erweitern, daß dies auch für Fragezeichen gilt?


      $message_array[$x] = eregi_replace("|([ ])([!])|([\?])|s", "\\2", $message_array[$x]); ... so richtig, mit dem Backslash davor?


      LG
      LuLa

      Kommentar


      • #4
        eher ([!]|[\?]) aber achtung der trenner darf jetzt nicht mehr | sein!
        h.a.n.d.
        Schmalle

        http://impressed.by
        http://blog.schmalenberger.it



        Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
        ... nur ohne :-)

        Kommentar

        Lädt...
        X