«У меня нет тестов, подтверждающих это, но я бы предположил, что это шутка для компьютера».@ Джордан Арсено
Джордан, я согласен.Хотя, если у вас есть несколько файлов для анализа одновременно, все это может сложиться довольно плохо.Я согласен с тем, что у вас есть собственный синтаксический анализатор шаблонов, если у вас есть для этого особые потребности.Хотя использование немного другого синтаксиса может сэкономить вам много времени на обработку при синтаксическом анализе ...
Вместо использования этой версии:
{users}
{name}
{age}
{posts}
{title}
{body}
{comments}
{comtitle}
{combody}
{/comments}
{/posts}
{/users}
Вы также можете использовать что-то вроде:
{foreach: users}
{name}
{age}
{foreach: posts}
{title}
{body}
{foreach: comments}
{comtitle}
{combody}
{endforeach: comments}
{endforeach: posts}
{endforeach: users}
Таким образом, находя шаблон {foreach:<array>}
, вы будете ЗНАЕТЕ, что есть соответствующий тег, и вам не нужно будет ПОПЫТЬ, чтобы найти один для всех шаблонов.После этого вы можете легко использовать preg_match()
, чтобы пробиться.
(Примечание: вы все равно можете сделать то же самое со своим стилем, хотя вам придется анализировать код в обратном направлении, что, по-моему, сделает его действительно неудобным.)