Программирование > Регулярные выражения

Помогите написать рег

(1/1)

tarya:
Привет!

Помогите пожалуста написать выражение для выбора данных из одной заданной ячейки таблицы.

пример ХТМЛ кода.


<tr>
<td class="w1" align=center>    974    BYR </td>
<td class="w2" align=center>    10</td>
<td class="w2" align=left>   &nbsp   бiлоруських рублiв           </td>
<td class="w3" align=right>     0.0247 &nbsp</td>
</tr>
<tr>
<td class="g1" align=center>    208    DKK </td>
<td class="g2" align=center>   100</td>
<td class="g2" align=left>   &nbsp   датських крон                </td>
<td class="g3" align=right>    86.7506 &nbsp</td>
</tr>
<tr>
<td class="w1" align=center>    840    USD </td>
<td class="w2" align=center>   100</td>
<td class="w2" align=left>   &nbsp   доларiв США                  </td>
<td class="w3" align=right>   532.8400 &nbsp</td>
</tr>



пример рега который написал я:

"!<tr>.*840 +USD.*([0-9]+\\.[0-9]+).*?</tr>!si"
это то что я смог написать и оно работает. По другим валютам выбирает четко, но по доллару иногда берет другую валюту и я просто немогу понять почему.

Спасибо за помощь.

гоша:
рег не нужен

делаешь из таблицы нормальный двумерный массив и работаешь с ним


$html=str_replace("</tr",\'||</tr\',$html);
$html=str_replace("</td",\'@@</td\',$html);
$html=strip_tags($html);

$result=array();
foreach(explode(\'||\',$html) as $row)
$result[]=array_map(\'floatval\',explode(\'@@\',$row));

tarya:
Поначалу незаработала и intval покрутился увидел floatval.

Спасибо огромное за помощь. Благодарствую.

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии