Программирование > Регулярные выражения
Помогите написать рег
(1/1)
tarya:
Привет!
Помогите пожалуста написать выражение для выбора данных из одной заданной ячейки таблицы.
пример ХТМЛ кода.
<tr>
<td class="w1" align=center> 974 BYR </td>
<td class="w2" align=center> 10</td>
<td class="w2" align=left>   бiлоруських рублiв </td>
<td class="w3" align=right> 0.0247  </td>
</tr>
<tr>
<td class="g1" align=center> 208 DKK </td>
<td class="g2" align=center> 100</td>
<td class="g2" align=left>   датських крон </td>
<td class="g3" align=right> 86.7506  </td>
</tr>
<tr>
<td class="w1" align=center> 840 USD </td>
<td class="w2" align=center> 100</td>
<td class="w2" align=left>   доларiв США </td>
<td class="w3" align=right> 532.8400  </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.
Спасибо огромное за помощь. Благодарствую.
Навигация
Перейти к полной версии