Как пропарсить динамический блок шаблонизатора

Статус
В этой теме нельзя размещать новые ответы.

D.Lans

Новичок
Народ, хочу написать свою систему шаблонов (в качестве самообразования хотя бы).
Так что готовые не предлагать.

В чем суть проблемы.

Например у меня есть файл шаблона:

Код:
<html>
<head>
<title>{title}</title>
</head>
<body>
{PRIVETSTVIE}
{TEXT}
</body>
</head>
Написал так же парсер на PHP, котоый грузит себе этот шаблон, подставляет вместо {что-то} осмысленный текст.

Например после прогона вышеуказанного мною шаблона получается html страница:
Код:
<html>
<head>
<title>Мой супер сайт</title>
</head>
<body>
Добро пожаловать!
Хеллоу!
</body>
</head>
В общем статические шаблоны мой шаблонизатор прекрасно обрабатывает и я счастлив.
Однако проблемы начинаются, когда нужно разместить динамический текст на странице (как у автора этой темы).

Если непонятно, приведу пример.
Например на главную страницу нужно вывести список новостей.
Само собой, количество новостей не задано жестко - их может быть хоть 0, хоть 10.

Поэтому тут нельзя обойтись такой конструкцией:
Код:
...
<body>
{news_title_1}
{news_text_1}

{news_title_2}
{news_text_2}

{news_title_3}
{news_text_3}
...
</body>
Причем новости у меня содержаться в таблице, а атрибуты таблицы определяет дизайнер, так что нельзя просто <table>...</table> добавлять в PHP коде - все должно быть определено в шаблоне. Но как? Шаблон статический, а код динамический!

Подобный пример можно привести и в меню - элементов меню может быть от одного до бесконечности..

Вопрос: как реализовать отображение подобных динамически данных в статическом шаблоне?
 

Фанат

oncle terrible
Команда форума
словом "статический шаблон" ты называешь всего-навсего вывод переменной?
 

D.Lans

Новичок
Фанат, ты вездесущий какой-то..
Я в теме отписал три минуты назад, ты ее уже успел найти и выделить в отдельную..

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