За последние 24 часа нас посетили 20055 программистов и 1705 роботов. Сейчас ищут 1458 программистов ...

Равные неизвестные условия

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

  1. Liquidator

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

    С нами с:
    16 авг 2010
    Сообщения:
    9
    Симпатии:
    0
    Вот пример для наглядности:

    PHP:
    1. preg_match_all('#<!-- НАЧАЛО ([A-Z0-9_]*) -->(.*?)<!-- КОНЕЦ ([A-Z0-9_]*) -->#s', $html, $value_replace);
    2.  
    Все какбы прекрасно, но если случается такое:

    Код (Text):
    1. <!-- НАЧАЛО TATA -->
    2.  
    3. <!-- НАЧАЛО LOLO -->
    4. <!-- КОНЕЦ LOLO -->
    5.  
    6. <!-- КОНЕЦ TATA -->
    то он выдаёт

    Код (Text):
    1. <!-- НАЧАЛО TATA -->
    2.  
    3. <!-- НАЧАЛО LOLO -->
    4. <!-- КОНЕЦ LOLO -->
    а нужно

    Код (Text):
    1. <!-- НАЧАЛО TATA -->
    2.  
    3. <!-- НАЧАЛО LOLO -->
    4. <!-- КОНЕЦ LOLO -->
    5.  
    6. <!-- КОНЕЦ TATA -->
    В итого вопрос: как поставить условие, чтобы неизвестное в первых скобках было равно неизвестному в 3-их скобках?
     
  2. Liquidator

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

    С нами с:
    16 авг 2010
    Сообщения:
    9
    Симпатии:
    0
    Ещё кое, что: гугл не спас, просмотр phpbb3 кода по регуляркам тоже не дал результата, но поиски продолжаются
     
  3. Jampire

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

    С нами с:
    22 авг 2009
    Сообщения:
    181
    Симпатии:
    0
    Адрес:
    Гомель
    PHP:
    1. preg_match_all('#<!-- НАЧАЛО (\w*) -->(.*?)<!-- КОНЕЦ \\1 -->#s', $html, $value_replace);
     
  4. Liquidator

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

    С нами с:
    16 авг 2010
    Сообщения:
    9
    Симпатии:
    0
    При много благодарен, спасибо