[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: <p>1<p>2</p></p>
Romms
Вот есть стринг(например): bla-bla<p>1<p>2<p>3</p></p></p>bla-bla
Как выделить "<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>

Спустя 24 минуты, 29 секунд (19.11.2009 - 11:56) glock18 написал(а):
Гоните, батенька. Не может регулярка, предложенная Grazor, выбирать то, что пишете, батенька smile.gif Она как раз и выбирает то, нужно из этого примера.

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

Спустя 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
(
[0] => before
[1] => 1
[2] => 2
[3] => 3
[4] => 4
[5] =>
[6] =>
[7] =>
[8] => after
)
ЗЫ такая вложенность тэга абзаца вроде считается нарушением (т.е. span и div можете, а p - не стоит)

Спустя 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); 
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.