Beat: Regex: Doppelter Teil

Beitrag lesen

$text="text {array:daten} hallo{/array:daten} vieltext";
Jetzt möchte ich alles, was zwischen den array:-Klammern steht auslesen:

Problem an der Sache: Wie mache ich dem klar, das ich genau die Angaben will, bei denen hinter dem Doppelpunkt dasselbe steht. Bei einem ersetzen würde müsste es ja mit $1 gehen, wie es beim auslesen gehen soll, weiß ich nicht.

preg_match_all("!{array:([a-zA-Z0-9]*)}(.*?){/array:\2}!",$text,$list);
                 $1     $2             $3 ^ $4      \2

mit \2 statt $1 oder $2
nimm .*? statt .*

Wenn du einen Ausdruck nicht speichern willst, verwende
(?: ) statt ()

mfg Beat

--
><o(((°>           ><o(((°>
   <°)))o><                     ><o(((°>o
Der Valigator leibt diese Fische