Beat: Regex: Doppelter Teil

Beitrag lesen

Funktioniert leider nicht:

Ich hatte im ersten Posting {} und () visuell nicht auseinander halten können.

[code lang=php]<?

$text="viel text {array:daten} hallo{/array:daten} vieltext";

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

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

maskiere die { }, schon alleine meinen Augen zuliebe,
wenn du sie nicht als Quantifikatoren brauchst.
Die Backreferenz sollte $1 jetzt matchen, ergo \1

in perl OK
my $a="viel text {array:daten} hallo{/array:daten} vieltext";
$a =~ m!{array:([a-zA-Z0-9]*)}(.*?){/array:\1}! and print $1, $2;

mfg Beat

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