Texter mit x: preg_replace - BBCode

Beitrag lesen

SUCHMUSTER: /[zitat=(.*?)](.*?)[/zitat]/s

Dann zeigt er nur das Zitat von Gott an

"
[zitat=Gott]

[zitat=Mein name]
Text...
[/zitat]
"

Wie löse ich das problem?

Zwischen [zitat=(.*?)] und [/zitat] darf sinngemäß kein [zitat=(.*?)] vorkommen. Auf die Weise ersetzt Du von innen nach außen, in mehreren Durchgängen.

(Außerdem willst Du vielleicht auch Zitate ohne Autor zulassen also ohne Gleichheitszeichen?!)