Проблема с RegExp (шаблон обрабатывает лиш часть исходного текста,)

Артемий

Новичок
Проблема с RegExp (шаблон обрабатывает лиш часть исходного текста,)

Решил я из строковой переменной $text которая изобилует HTML вытягивать конкретно тэги <P> целиком с внутренностями (которые кстати могут выглядить и вот так <P class="text"> поэтому исрользую RegEXP конструкцию <p.*>) .

Написал вот такой вот скрипт

preg_match_all("|<p.*>(.*)</p>|U",
$text,
$out_preg, PREG_PATTERN_ORDER);

for($i=0; $i <= count($out_preg[0]); $i++ )
{

echo $out_preg[0][$i]."<br>";

}

Но по непонятным причинам данный код вытягивает лиш часть тэгов <P> а не все.
 

Артемий

Новичок
заметил что RegExp глючит конкретно на таких конструкциях

<p><font size="2">Например, согласно статье 113 проекта бюджета гласит о том, <br/>
<br/>
Формулировка, в общем-то, невинная. Сколько там этих средств останется в фонде? Но на самом деле, даже этими средствами можно было бы распорядиться намного разумнее, чем это делается сейчас.<br/></p>

т.и. на на переводы строки

как это обойти ?
 

zarus

Хитрожопый макак
Идти и почитать еще раз фак по регулярным выражениям.
Конкретно, обратить внимание на модификаторы s, i, m, u и использование
Код:
? 
(?!)
(?=)
 
Сверху