ФорумПрограммированиеPHP для идиотов → preg_match_all();

preg_match_all();

  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz Май 30, 2010, 2:05 д.п.

    Итак парсим нечто типа:
    {a b} 1 {a c} 2 {/a} 1 {/a}

    Парсим примерно такой регуяркой:
    /{a [a-z]+?}(.*?){\\/a}/i
    - preg_set_order
    Надо получить в $array[0][1] - 1 {a c} 2 {/a} 1 // получаем.
    А в $array[1][1] - 2, но вложенное он сука не парсит. Я что то пропустил в регекспах надеюсь?
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz Май 30, 2010, 2:42 д.п., спустя 36 минут 26 секунд

    если с последовательными тегами можно разобраться с помощью «не жадных» квантификаторов или стопив выражение на начале следующего ( было выше типа "[^<]+" ), то добиться вложенности практически нереально. То есть для конкретных случаев это реализуемо, но всегда найдется вариант, который поломает нашу стройную картину.

    Почти нереально походу. Жаль.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Май 30, 2010, 2:58 д.п., спустя 16 минут 51 секунду

    нереально
    Сапожник без сапог
  • Jenta

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz Авг. 18, 2012, 10:40 п.п., спустя 811 дней 19 часов 41 минуту

    Все любят, когда им говорят что-то хорошее… ;))

Пожалуйста, авторизуйтесь, чтобы написать комментарий!