»» $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 \2mit \2 statt $1 oder $2
nimm .*? statt .*Wenn du einen Ausdruck nicht speichern willst, verwende
(?: ) statt ()mfg Beat
Funktioniert leider nicht:
<?
$text="viel text {array:daten} hallo{/array:daten} vieltext";
preg_match_all("!{array:([a-zA-Z0-9]*)}(.*?){/array:\2}!",$text,$list);
print_r($list);
?>
liefert folgendes Ergebnis:
http://vfb-stuttgart.piranho.de/test.php