MagicGTS
Новичок
preg_match_all поиск в подшаблоне
Помогите с регулярками, что-то уже не выходит ничего путного.
Задача такая, есть некий текст уложенный в теги <p>...</p> (вложенности тегов <p> нет, но внутри этих тегов могут попадать и другие теги, содержимое которых также нужно вытащить), нужно выбрать весь текст из этих тегов, и в нем найти слова длинной более 3-х символов и содержащие буквенную последовательность "нат" (как пример).
Вариант, поиска содержимого тегов <p>...</p>, а потом в цикле раздирания каждого найденного набора не очень хорош, жрет много ресурсов (хоть он у меня и получился, всежтаки примитив). А вот сделать это одной регуляркой не получается (ну на крайняк двумя, а хочется, должно быть экономичнее и быстрее).
Сейчас работает так:
Решение в лоб не нравится, а по "умному" не догоняю 
Помогите с регулярками, что-то уже не выходит ничего путного.
Задача такая, есть некий текст уложенный в теги <p>...</p> (вложенности тегов <p> нет, но внутри этих тегов могут попадать и другие теги, содержимое которых также нужно вытащить), нужно выбрать весь текст из этих тегов, и в нем найти слова длинной более 3-х символов и содержащие буквенную последовательность "нат" (как пример).
Вариант, поиска содержимого тегов <p>...</p>, а потом в цикле раздирания каждого найденного набора не очень хорош, жрет много ресурсов (хоть он у меня и получился, всежтаки примитив). А вот сделать это одной регуляркой не получается (ну на крайняк двумя, а хочется, должно быть экономичнее и быстрее).
Сейчас работает так:
PHP:
//вытаскиваем содержимое тегов (пока не рассматриваю вариант с вложенными тегами)
preg_match_all("/<p>(.*)<\/p>/",$doc, $tmp1);
//в цикле выбираю данные из $tmp1 и обрабатываю таким макаром:
preg_match_all("/(\w+)/", $tmp1_value[0], $tmp2);
//а теперь ещё один цикл, на разбор по критерию!!!! ):
preg_match_all("/нат/i", $tmp2_value[0],$hword)
