Mailinglisten-Archive |
Hi Nikolai,
Nikolai Onken schrieb:
[schnipp]
> Mein Problem ist, das ich diesen Ausdruck umschreiben will, so dass er
> z.B.
> <gcms:loop>Hallo<gcms:loop>huhu</gcms:loop></gcms:loop> matchen kann.
> Und genau da komm ich nicht mehr weiter - wenn es überhaupt möglich ist.
> Ich kann ja nicht einfach
> °<gcms:loop>(((?>[^<gcms:loop>])|(?R))*)</gcms:loop> schreiben.
Das Problem ist [^<gcms:loop>] das entspricht nicht dem was du suchst.
Schau dir das mal an, ist zwar noch nicht perfekt aber kommt der Sache
schon nah.
<?php
$content = '<gcms:loop>Mein Problem ist,</gcms:loop> das ich
diesen Ausdruck umschreiben will, so dass er z.B.
<gcms:loop>Hallo<gcms:loop>huhu</gcms:loop></gcms:loop> matchen kann.
Und genau da komm ich nicht mehr weiter - wenn es überhaupt möglich ist.
Ich kann ja nicht einfach';
preg_match_all ('~<gcms:loop>(((?>[^<>]+)|(?R))*)</gcms:loop>~U',
$content, $treffer);
print_r($treffer);
?>
[^<>]+ sucht mindestens ein Zeichen was nicht < oder > ist.
Das kann natürlich nur gehen solange Zwischen <gcms:loop> und
</gcms:loop> kein < oder > vorkommen kann.
Ich schau mal ob mir noch was einfällt.
Gruß
Christian
php::bar PHP Wiki - Listenarchive