Сегодня, по совету г-на *****а, занялся разработкой собственного простенького шаблонного движка. Забегая вперед, хочу поблагодарить *****а, за его совет, потому как сегодня я хорошенько потренировал свой мозг и узнал кое-что новенькое
![Smile :) :)](/talk/styles/default/xenforo/smilies/smile.png)
Ну в общем респект!
Так вот. Начал я с рисования схем. На бумаге все выглядело очень просто:
1. Условие продолжения парсинга шаблона. Если FALSE, то не парсим.
2. Функция парсера. Проходим по всему шаблону.
3. Если встречаем строку вида {%TAG%}, то подставляем данные из массива.
Ну как то так. И понеслась
![Smile :) :)](/talk/styles/default/xenforo/smilies/smile.png)
С 10 утра ломал голову над этим
![Smile :) :)](/talk/styles/default/xenforo/smilies/smile.png)
Придумывал комбинации с регулярными выражениями. Пробовал preg_replace, preg_match, и в том же духе.
-~{}~ 30.01.08 16:58:
Наконец полез в Гугль, и прочел, что все нормальные шаблонизаторы используют РЕКУРСИЮ. Это великое слово повергло меня. Остаток дня провел за изучением данного механизма.
Я не мог понять, как она работает!!!
И все закончилось Zend Studio
![Smile :) :)](/talk/styles/default/xenforo/smilies/smile.png)
Воспользовался дебагером и разобрался!!!
И вот теперь на радостях пишу тут, как в блоге и делюсь впечатлениями
Все спасибо!