ФорумПрограммирование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 г. 22:40, спустя 811 дней 19 часов 41 минуту

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

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