foomaker: ereg_replace

Tach zusammen.

habe diesen String: $s = "blabla[x]info[/x]blabla[x]zusatz[/x]blabla"

mit ereg_replace will ich alle "[x]...[/x]" ersetzen durch " zack " ersetzen.

Wenn ich das so versuche

$s = preg_replace('/\[x](.*)\[\/x]/',' zack ',$s);

dann ersetzt der Ausdruck alles zwischen dem ersten [x] und dem letzten (!) [/x] mir " zack ".

Gewünschtes Ergebnis: "blabla zack blabla zack blabla"

Bisheriges Ergebnis: "blabla zack blabla"

Kann mir einer einen Tipp geben, wie ich den regex dazu bringe, das gewünschte Ergebnis zu erzielen?

Danke

Gruß vom foomaker

--
Ändere, was Du ändern kannst.
Akzeptiere, was Du nicht ändern kannst.
Lerne, das eine vom anderen zu unterscheiden.
  1. Kann mir einer einen Tipp geben, wie ich den regex dazu bringe, das gewünschte Ergebnis zu erzielen?

    Ein Tipp? Du bist du _gierig_.

    1. Hallo suit

      Ein Tipp? Du bist du _gierig_.

      Du bist der Beste. Habe dem Ausdruck die Gier genommen:

      $s = preg_replace('/\[x](.*?)\[\/x]/',' zack ',$s);

      Mit dem '?' ist es nun so genügsam, wie ich es von ihm erwarte. ;-)

      Danke. *thumbs up*

      Gruß vom foomaker

      --
      Ändere, was Du ändern kannst.
      Akzeptiere, was Du nicht ändern kannst.
      Lerne, das eine vom anderen zu unterscheiden.
      1. Mit dem '?' ist es nun so genügsam, wie ich es von ihm erwarte. ;-)

        Der U-Modifikator wäre ebenfalls eine Möglichkeit.