решение как рассуждал при разговоре: через массив. Сделал через обратный обход массива - так показалось легче.
Можно было и через регулярки или еще как-то более оптимально, но я доработал реализовал тот способ, про который говорил.
Также предложил решение через eval, но не нашел способа сделать более-менее красиво.