【发布时间】:2017-09-08 09:26:36
【问题描述】:
我有表结构:
<table class="c_order u_list">
<thead>
<tr>
</tr>
</thead>
<tbody>
<tr>
<td>
11.04.2017<br/>
18:20 </td>
<td><a target="_blank" href="/personal/order/detail/457/">A-457</a></td>
<td>+7 (917) 119-11-42</td>
<td>1685.20</td>
<td>
<a target="_blank" href="/resn/i/zda_2_1/">УШКА</a><br/>с. холмский, ул. Фрунзе, д. 11<br/>3477740087 </td>
<td>Принят</td>
</tr>
<tr>
<td>
11.04.2017<br/>
16:47 </td>
<td><a target="_blank" href="/personal/order/detail/47565/">A-47565</a></td>
<td>+7 (909) 556-77-99</td>
<td>2574.80</td>
<td>
<a target="_blank" href="/kir/a/an_10/">ООО "План"</a><br/>г. Омск, ул. 10-летия Победы, д. 3;<br/>8845701069 </td>
<td>Доставлен</td>
</tr>
</tbody>
</table>
我正在尝试使用我的 PHP 代码将其放入数组中:
$page = curl_exec ($ch);
curl_close ($ch);
$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML($page);
libxml_clear_errors();
$xpath = new DOMXpath($dom);
$data = array();
// get all table rows and rows which are not headers
$table_rows = $xpath->query('//tr');
foreach($table_rows as $row => $tr) {
foreach($tr->childNodes as $td) {
echo $td->nodeValue;
$data[$row][] = preg_replace('~[\r\n]+~', '', trim($td->nodeValue));
}
$data[$row] = array_values(array_filter($data[$row]));
}
print_r($data);
但我在数组中得到错误的结果(没有 href 标签),但我需要得到类似的东西,包括 td 元素中的所有标签:
Array
(
[0] => Array
(
[0] => 11.04.2017 18:20
[1] => <a target="_blank" href="/personal/order/detail/457/">A-457</a>
[2] => +7 (917) 119-11-42
[3] => 1685.20
[4] => <a target="_blank" href="/resn/i/zda_2_1/">УШКА</a><br/>с. холмский, ул. Фрунзе, д. 11<br/>3477740087
[5] => Принят
)
[1] => Array
(
[0] => 11.04.2017 16:47
[1] => <a target="_blank" href="/personal/order/detail/47565/">A-47565</a>
[2] => +7 (909) 556-77-99
[3] => 2574.80
[4] => <a target="_blank" href="/kir/a/an_10/">ООО "План"</a><br/>г. Омск, ул. 10-летия Победы, д. 3;<br/>8845701069
[5] => Доставлен
)
以及如何为数组键索引命名?所以不要[0],而是['time']。
【问题讨论】:
-
确保以正确的编码接收数据。如果不在源文件中使用
header('Content-type: text/plain; charset=utf-8');。还要检查你的 php 文件的编码。 -
utf8_encode 没有解决您的问题吗?你的脚本文件的编码怎么样?
-
编码未解决结果是一样的
-
$page变量编码是什么?
标签: arrays parsing multidimensional-array html-table