За последние 24 часа нас посетили 57016 программистов и 1792 робота. Сейчас ищут 838 программистов ...

Не работают вложенные условные операторы в шаблоне

Тема в разделе "Регулярные выражения", создана пользователем STRELOK, 16 янв 2010.

  1. STRELOK

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

    С нами с:
    4 янв 2010
    Сообщения:
    21
    Симпатии:
    0
    Вот такая конструкция работает нормально
    Код (Text):
    1. {if условие}
    2. код1
    3. {else}
    4. код2
    5. {endif}
    Вот такая конструкция уже не пашет =(
    Код (Text):
    1. {if условие}
    2. код1
    3.  {if условие}
    4.  код2
    5.  {else}
    6.   код3
    7.   {endif}
    8. {else}
    9. код4
    10. {endif}
    Вот основная функция извлечения
    PHP:
    1.  
    2. public function Result($source)
    3.  {
    4.    $pattern = "/\{\s*if\s+(.*?)\}\s*(.*?)\{\s*endif\s*?\}\s*/is";
    5.    $result = preg_replace_callback($pattern, array($this, "ReplaceHandler"), $source);
    6.    return $result;
    7.   }
    8.  
    Помогите составить правильный паттерн, плиз =)