Как выделить "<p>1<p>2<p>3</p></p></p>", через регулярные выражения ?
Делаю так:
/<p>(.*?)<\/p>/i
но так выбирает - <p>1<p>2<p>3</p>
Спустя 18 минут, 52 секунды (18.11.2009 - 21:26) Grazor написал(а):
/<p>(.*)<\/p>/i
а так?
Спустя 12 часов, 38 минут, 15 секунд (19.11.2009 - 10:04) Romms написал(а):
Не... разница между твоим вариантом и моим в том, что мой барёт даже пустые теги, а от твой берёт только тогда если между тегами что-то есть, хотя нет... * - нуль або больше совпадений...
Спустя 1 час, 26 минут, 26 секунд (19.11.2009 - 11:30) glock18 написал(а):
Цитата |
Не... разница между твоим вариантом и моим в том, что мой барёт даже пустые теги, а от твой берёт только тогда если между тегами что-то есть, хотя нет... * - нуль або больше совпадений... |
так что? подошло или нет?
Спустя 50 секунд (19.11.2009 - 11:31) Romms написал(а):
Нет... сами смотрите...
выбирает - <p>1<p>2<p>3</p>
а нужно - <p>1<p>2<p>3</p></p></p>
выбирает - <p>1<p>2<p>3</p>
а нужно - <p>1<p>2<p>3</p></p></p>
Спустя 24 минуты, 29 секунд (19.11.2009 - 11:56) glock18 написал(а):
Гоните, батенька. Не может регулярка, предложенная Grazor, выбирать то, что пишете, батенька
Она как раз и выбирает то, нужно из этого примера.

Спустя 15 минут, 42 секунды (19.11.2009 - 12:11) Romms написал(а):
Да...
Но почему? Обьясните пожалуйста...

Спустя 4 дня, 1 час, 37 минут, 29 секунд (23.11.2009 - 13:49) yazykov написал(а):
Как встречает </p> так выполняется шаблон, значит дальше можно не искать
не помню, можно ли цикл задавать...
есть решение в лоб, порезать на части в массив самым примитивным способом, а потом работать с массивом
не помню, можно ли цикл задавать...
есть решение в лоб, порезать на части в массив самым примитивным способом, а потом работать с массивом
$test = 'before <p>1<p>2<p>3<p>4</p></p></p></p> after';
$test = str_replace(array('<p>','</p>'), array("\n<p>", "\n</p>"), $test);
print_r(explode("\n",$test));
// можно при желании вырезать сам тэга абзаца
ArrayЗЫ такая вложенность тэга абзаца вроде считается нарушением (т.е. span и div можете, а p - не стоит)
(
[0] => before
[1] => 1
[2] => 2
[3] => 3
[4] => 4
[5] =>
[6] =>
[7] =>
[8] => after
)
Спустя 8 дней, 7 часов, 42 минуты, 46 секунд (1.12.2009 - 21:32) Dron19 написал(а):
Так происходит потому что у тебя граница шаблона первое </p>
Спустя 9 минут, 30 секунд (1.12.2009 - 21:41) Dron19 написал(а):
Я думаю у вас будет работать вот так, попробуйте:
preg_match("/<p>(.*?)<\/p><\/p><\/p>/","То на что менять шаблон",$wheresearch);