Ich hätte es jetzt so gelöst, vielleicht nicht gerade schön, aber es funzt
$string = "test [QUOTE]und noch ein [QUOTE] zitat [/QUOTE] und das äussere ist zu ende [/QUOTE]";
while (preg_match("/(\[QUOTE\])(.*)(\[\/QUOTE\])/is",$string,$pregRes)) {
$replacement = "<p align=\"center\">
<table class=\"quotetable\">
<tr>
<td><b>Zitat:</b> ".$pregRes[2]."</td>
</tr>
</table>
</p>" ;
$string = str_replace($pregRes[0],$replacement,$string);
}
echo $string;
[/PHP]
Edit: Ich bemerkte gerade...da der Ausdruck "gierieg" ist, funzen zwei Quotes nebeneinander nicht, macht man ihn "nicht gierig", funzt die Verschachtelung wieder nicht richtig...