PHP - парсер BBCode - рекурсивный [quote] с регулярным выражением и preg_replace

Я делаю свой собственный парсер bbcode, и у меня проблема, когда я пытаюсь сделать рекурсивную цитату.

это мой код:

 function forumBBCode($str){
$format_search=array(
'#\[quote=(.*?)\](.*?)\[/quote\]#is'
);

$format_replace=array(
'<blockquote class="quotearea"><i><a class="lblackbu" href="./index.php?status=userview&userv=$1">$1</a> wrote :</i><br />$2</blockquote>'
);

$str=preg_replace($format_search, $format_replace, $str);
$str=nl2br($str);
return $str;
}

что я должен добавить / изменить, чтобы сделать рекурсивную цитату? другими словами, когда цитата находится внутри другой цитаты ...

ура и тнкс за помощь

Ответы на вопрос(2)

Ваш ответ на вопрос