Помогите, кто знает как побороть регулярне выражение

  • Автор темы Автор темы rudik
  • Дата начала Дата начала

rudik

Developer
Помогите, кто знает как побороть регулярне выражение

В связи с недостаточностью знаний в области рег.выражений обращаюсь к тем, у кого достаточные и избыточные знания в данной области.

Есть текст: (большое количество тегов среди которых хранится полезная информация)

PHP:
<TR><TD align=center valign=middle bgColor=#ffffff>
<P align=center>[B]840 USD[/B]</P></TD><TD vAlign=middlebgcolor=#FFFFFF align=middle>
<P align=center>[B]100[/B]</P></TD>
<TD vAlign=middlebgcolor=#FFFFFF align=left><P align=left>&nbsp; долларов США </P></TD>
<TD vAlign=middlebgcolor=#FFFFFF align=right>[B]532.9000[/B] &nbsp;</TD></TR>
<TR>

Необходимо вытянуть все значение вне тегов, идущие после 840 USD, а именно 100 и 532.9000
 
если там только цифиры и цифиры с точкой, то можно попробовать такое
$pervoe = preg_replace("/(.*?)$ff(.*?)[\>\]](\d+\.?\d*)(.*?)[\>\]](\d+\.?\d*)(.*)/s", "\\3" ,$text);

$vtoroe = preg_replace("/(.*?)$ff(.*?)[\>\]](\d+\.?\d*)(.*?)[\>\]](\d+\.?\d*)(.*)/s", "\\5" ,$text);
 
Да, все это хорошо, но как заставить это регулярное выражение брать первое попавшееся ему значение. Потому как ХТМЛ строк, которые я привел в примере много, а это регулярное выражение возвращает только последние значения в строке.
 
вообще рекомендовал бы тебе отказаться от регэкспов, при размере строки более 2К получишь тормоза.... недавно пришлось писать выдиралку довольно большого сайта, отказался от регэкспов почти на всех уровнях, используя только замену строчками - эффективность на 20% выше, хотя код разросься почти в два раза =)
 
Сверху