Помогите с рег. выражением.

sherif

Guest
Помогите с рег. выражением.

одскажите, в чем трабл!?!

Есть страница с хтмл кодом...
...
PHP:
<MARQUEE direction=right   truespeed>
&nbsp;Product1&nbsp;
<font size=3 color=#bbbbbb>
<font size=3 color=#bbbbbb>1,706.75</font>
&nbsp;&nbsp;&nbsp;&nbsp;%1.98</font> 
&nbsp;Product2&nbsp;
<font size=3 color=#bbbbbb>
<font size=3 color=#bbbbbb>3,834.00</font>
&nbsp;&nbsp;&nbsp;&nbsp;%1.09</font> 
&nbsp;Product3&nbsp;
<font size=3 color=#bbbbbb>
<font size=3 color=#bbbbbb>4,588.00</font>
&nbsp;&nbsp;&nbsp;&nbsp;%1.73</font>
        </MARQUEE>
Я написал следующее рег.выражение:
Код:
((?<=>?&nbsp;)\D*.(?=&nbsp;<font?)|(?<=>)\d*\.\d*(?=<\/font>)|(?<=>?%)\d*\.\d*(?=<\/b>))
А потом и процедуру:

Но проблема у меня в том, что черт побери мне нужно получить массив вид:
Код:
value[0] => Product1
value[1] => 706.75
value[2] => 1.98
то есть Наименование, значение, процент, а у меня получается, что каждый элемент сам по себе.
Люди мудрые подскажите, что не так.Заранее огромное спасибо....
 

sage

Новичок
например, так:
PHP:
$str = '<MARQUEE direction=right   truespeed>
&nbsp;Product1&nbsp;
<font size=3 color=#bbbbbb>
<font size=3 color=#bbbbbb>1,706.75</font>
&nbsp;&nbsp;&nbsp;&nbsp;%1.98</font>
&nbsp;Product2&nbsp;
<font size=3 color=#bbbbbb>
<font size=3 color=#bbbbbb>3,834.00</font>
&nbsp;&nbsp;&nbsp;&nbsp;%1.09</font>
&nbsp;Product3&nbsp;
<font size=3 color=#bbbbbb>
<font size=3 color=#bbbbbb>4,588.00</font>
&nbsp;&nbsp;&nbsp;&nbsp;%1.73</font>
</MARQUEE>';

preg_match_all('{&nbsp;(.+?)&nbsp;.*?<font size=3 color=#bbbbbb>([^<]+?)</font>.*?&nbsp;&nbsp;&nbsp;&nbsp;%(.+?)</font>}si', $str, $matches, PREG_SET_ORDER);

echo '<pre>';
print_r($matches);
echo '</pre>';
 
Сверху