NetLook: modifier g (global match) unbekannt

Hallo!

Auf dieser Seite hat mein ein Tool, um Reguläre Ausdrücke zu testen:

http://www.dhtmlgoodies.com/scripts/regular-expression/regular-expression.html

Da kann man als Flag g und i angeben, was dann bei meiner Abfrage insgesamt so aussieht:
/Suchwort[<.+?>])/gi

Wenn ich das nun in mein PHP Script einbaue und es teste, kommt die Fehlermeldung
Debug-Warnung:  \srv\www\Intranet... Zeile 472 - Unknown modifier 'g'

Gibt es den erst ab einer bestimmten PHP Version oder gar nicht in PHP, wie könnte ich noch den gesamten String durchsuchen?

  1. Hallo,

    nee, den Modifier 'g' gibt es in PHP nicht (siehe http://de2.php.net/manual/en/reference.pcre.pattern.modifiers.php).
    Dafür gibt es aber die Funktion pre_match_all() (http://de2.php.net/manual/en/function.preg-match-all.php).

    So long,
    Mr. Horse

    --
    "No, Sir, I don't like it."
    1. Hallo!

      Und Danke erstmal! Mit preg_match_all kann man aber nur suchen und nicht ersetzen oder? Ich würde nähmlich gerne suchen und ersetzen, hatte ich vergessen zu erwähnen, sorry!

      Gruß
      NetLook

      1. hi,

        Mit preg_match_all kann man aber nur suchen und nicht ersetzen oder? Ich würde nähmlich gerne suchen und ersetzen

        Dann nutze preg_replace.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Jaa, aber ich möchte doch den ganzen String durchsuchen und dafür baruche ich doch so einen modifier wie g, den es aber in PHP nicht gibt! Oder wird automatsich der ganze String durchsucht?

          Gruß
          NetLook

          1. n'abend,

            Jaa, aber ich möchte doch den ganzen String durchsuchen und dafür baruche ich doch so einen modifier wie g, den es aber in PHP nicht gibt! Oder wird automatsich der ganze String durchsucht?

            das Manual sagt bei preg_replace() wird der ganze String durchlaufen /g ist also Standardverhalten. Man kann - wenn man es demm möchte - über den Parameter limit die Anzahl der Ersetzungen limitieren.

            weiterhin schönen abend...

            --
            Freundlich wie man war, hat man mir Großbuchstaben geschenkt.
            sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|