preg_match + вложенные паттерны

baader

Guest
preg_match + вложенные паттерны

привет, никак не хочу верить что в PCRE не найдётся решения следующей проблемы:

исходная строка:
<test>
smth
<test>smth</test>
smth
</test>
smth
<test>
smth
</test>

задача:
вытащить все <test>(.*)</test>
первого уровня или хотя бы первый
>>
<test>
smth
<test>smth</test>
smth
</test>
<<

PS: используя preg_(...) функции!
 

iliah

Новичок
если никто не напишет тебе такую регулярку, используй метод, неоднократно здесь предлагавшийся и заключающийся в подсчете открытых и закрытых тегов, ie открытый тег $i++, закрытый $i--, дальше сам догадаешься, надеюсь
 

baader

Guest
да в том то и вопрос.. что метод предлагаемый тобой уже как раз щас и работает..
а хочется приятного для глаза и души так сказать.. -)
ЗЫ: прошу не считать меня зловредным занудой - это всего лишь образования ради (с)
 

SiMM

Новичок
baader, хочется приятного - иди в ман и читай статьи. А ещё можно учиться, смотря примеры в мане и пользуясь поиском по форуму.
 

baader

Guest
я бы не полез постить, если бы мог в среди официального чтото найти...
и не поверите - первое что я сделал - это полез искаться в поиске на форуме... но к сожалению многие вести именно такого рода постами и заканчивались, а те что хоть как то решались - моих проблем не решили...

прошу простить, если был груб,
буду приятно удивлён.. если увижу хотя бы линк на конкретную подсказку, а не отговорку вида "читай регулярные выражения" =)
 

vladax

Новичок
baader
рег ты уже практически написал. осталось почитать про многостроковый режим (или перенос строки) и жадность квантификаторов.
 

baader

Guest
многострочность у меня стоит, а вот с жадностью как раз трабл... согласен не смог я ею грамотно воспользоваться... "неправильно" находит паттерн...

за статьи спасибо,
про них как то сразу и не подумал ... блин.. ;7
 
Сверху