darkblade: preg_replace_callback - Muster im Suchstring geschachtelt

Beitrag lesen

Hallo liebe Community!

Ich habe ein Problem mit dem richtigen Einsatz der preg_replace_callback-Funktion bei geschachteltem Muster im Suchstring.
Mein Suchstring sieht folgendermaßen aus:

  
[quote:Autor]  
  
[quote:Autor]Text[/quote]  
  
[/quote]  

Die preg_replace_callback-Funktion setze ich wie folgt ein:

$text = preg_replace_callback("/(\[quote:)(.*?)(\])(.*?)(\[\/quote\])/s", array( $this, "scanning" ), $text);

Die Funktion scanning ersetzt die quote-Tags durch HTML-Code.

function scanning($matches)  
{  
    for($i=0;$i<count($matches);$i++)  
    {  
        [Hier werden die quote-Tags dann ersetzt.]  
    }  
}

Nun bekomme ich bei meinem im Suchstring geschachtelten Muster allerdings folgende Ausgabe:

<zitatcontainer>Text - von Autor</zitatcontainer>
[/quote]

Der geschachtelte Quote-Tag wird dementsprechend nicht beachtet oder falsch interpretiert. Wie kann ich meine Funktion entsprechend ändern? Wäre für jegliche Hilfe sehr dankbar.

Freundliche Grüße
darkblade