|
|
|
| Написал такой небольшой код:
<?
libxml_use_internal_errors(true);
$dom = new domDocument('1.0', 'UTF-8');
$dom->strictErrorChecking=false;
$dom->recover = true;
@$dom->loadHTML($data);
$xpath = new DomXPath($dom);
$elements = $xpath->query("//table[@class='dataTable all_clients']//tr");
$result = array();
if (!is_null($elements)) {
$str = $xpath->query("//strong");
foreach ($str as $value) {
$result['title'][] = $value->nodeValue;
}
}
?>
|
В $elements попадают все <tr>, далее хочу из каждой <tr> в цикле вытащить нужные <td>
а именно такие значения в них:
1) текстовое значение в <strong>Text</strong> занести в $result['title][]
2) значения вида 514597 занести в $result['number][]
3) значения вида 0.00 занести в $result['nmb][]
4) код USD/EUR занести в $result['symbl][]
Чтобы на выходе получился массив $result с соответствиями по стокам
Пример HTML кода:
<html>
<table class="dataTable all_clients" style="width:100%;" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td width="15px"></td>
<td width="25%">
<strong>Комиссии за сутки</strong>
</td>
<td></td>
</tr>
<tr>
<td colspan="5" style="height:5px" class="line"></td>
</tr>
<tr>
<td></td>
<td style="width:200px;">
514596
</td>
<td style="text-align:right;width:70px;" class="redData">
0.00
</td>
<td class="redData">
USD
</td>
<td></td>
</tr>
<tr>
<td></td>
<td style="width:200px;">
514597
</td>
<td style="text-align:right;width:70px;" class="redData">
0.00
</td>
<td class="redData">
RUR
</td>
<td></td>
</tr>
<tr>
<td></td>
<td style="width:200px;">
514598
</td>
<td style="text-align:right;width:70px;" class="redData">
0.00
</td>
<td class="redData">
EUR
</td>
<td></td>
</tr>
</tbody>
</table>
</html>
|
Поделитесь предложениями.. | |
|
|
|
|
|
|
|
для: OLi
(16.07.2013 в 04:27)
| | Пытаюсь сделать как-то так:
<?
libxml_use_internal_errors(true);
$dom = new domDocument('1.0', 'UTF-8');
$dom->strictErrorChecking=false;
$dom->recover = true;
@$dom->loadHTML($data);
$xpath = new DomXPath($dom);
$elements = $xpath->query("//table[@class='dataTable all_clients']//tr");
$result = array();
$title = array();
if (!is_null($elements)) {
foreach ($elements as $element) {
$titles = $xpath->query('//strong', $element); //Get titles
$numbers = $xpath->query('//td[1]', $element); //Get number
$numbers_flt = $xpath->query('//td[2]', $element); //Get number 0.00
$symbols = $xpath->query('//td[3]', $element); //Get Symbol
for( $i = 0; $i < count($numbers); $i++) {
$result['numbers'][$i] = $numbers->nodeValue;
$result['numbers_flt'][$i] = $numbers_flt->nodeValue;
$result['symbols'][$i] = $symbols->nodeValue;
}
foreach ($titles as $value) {
$title[] = $value->nodeValue;
}
}
}
var_dump($result);
?>
|
| |
|
|
|