За последние 24 часа нас посетили 21746 программистов и 1012 роботов. Сейчас ищут 687 программистов ...

Шаблонизатор: условия

Тема в разделе "PHP для новичков", создана пользователем rblake, 26 апр 2009.

  1. rblake

    rblake Активный пользователь

    С нами с:
    26 апр 2009
    Сообщения:
    3
    Симпатии:
    0
    Приветствую всех.
    Пишу шаблонизатор, написал уже почти всё но не могу реализовать главного — условия, а именно вложения условий… такой ступор полнейший. Решил использовать регулярные выражения. Получилось вот что…

    PHP:
    1. <?php
    2. $test = 0;
    3. $test2 = 1;
    4. $str = '<?if($test)?><?if($test2)?>2<?else?>3<?endif?><?else?>1<?endif?>';
    5. preg_match_all("/<\?\if\(.*\)\?>.*(<\?else\?>.*)?<\?endif\?>/m",$str,$arr);
    6. print_r($arr); //находит <?if(1==2)?><?if(1==2)?>1<?else?>2<?endif?><?else?>2<?endif?>, т.е. полностью всю строку $str
    7. ?>

    Выходит что действие было абсолютно бесполезным, т.е. на выходе я получил то, что и имел изначально… Натолкните, пожалуйста, на мысль, как обрабатывать внутренний блок условий (<?if($test2)?>2<?else?>3<?endif?> ) отдельно от внешнего…

    PS: Шаблонизатор использую для того, чтоб запретить использовать php в шаблонах.
     
  2. kostyl

    kostyl Guest

    напиши какую нибудь рекурсивную функцию....