Рекурсия в поиске переменных шаблона

AKAPE

Новичок
Рекурсия в поиске переменных шаблона

Добрый день!
Имею небольшой класс для обработки шаблона, в нем переменные (в фигурных скобках ) заменяються на глобальные переменные скрипта с помощью одного регулярного выражения.

$this->data=preg_replace_callback("/\{\\\$([a-z_][a-z0-9_z]*)(?:\[([a-z0-9_-]*)\])?(?:\[([a-z0-9_-]*)\])?\}/i",array(&$this,"variable"),$this->data);

которое передает массив в метод, который уже собственно и обрабатывает все дело, построено так, чтобы можно было использовать в шаблонах значения массивов 3-ех уровневой вложености, не могу сообразить, как сделать ПРАВИЛЬНО так, чтобы переменна\ в шаблоне могла содержать еще одну пеменную, например ,если это массив {$array['blblb'][{$text}]}, наталкивает мысль на рекурсию, но .. сомневаюсь, помогите пожалуста.
 
Сверху