我有一些API的html输出,我想从输出中读取所有标签。
输入到PHP脚本:
<table bgcolor="white" border="1" cellpadding="0" cellspacing="0" height="290" width="450" bordercolor="dodgerblue" align="center" class="txt">
<tbody>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" height="288" width="448" bgcolor="#ffffff" bordercolor="darkgray" class="txt">
<tbody>
<tr>
<td align="middle"><img height="18" src="/assets/images/dn1.gif" width="28"></td>
<td align="middle"></td>
<td align="middle"></td>
<td align="middle"></td>
<td align="middle"></td>
<td align="middle"></td>
<td align="middle"></td>
<td align="middle"><img height="18" src="/assets/images/up1.gif" width="28"></td>
<td align="middle"><img height="18" src="/assets/images/dn1.gif" width="28"></td>
<td align="middle"></td>
<td align="middle"></td>
<td align="middle"></td>
<td align="middle"></td>
<td align="middle"></td>
<td align="middle"></td>
<td align="middle"><img height="18" src="/assets/images/up1.gif" width="28"></td>
</tr>
<tr>
<td align="middle"></td>
<td align="middle"><img height="18" src="/assets/images/dn1.gif" width="28"></td>
<td align="middle"></td>
<td align="middle"><strong><img src="/assets/images/5.gif" width="28" height="18"></strong></td>
<td align="middle"></td>
<td align="middle"></td>
<td align="middle"><img height="18" src="/assets/images/up1.gif" width="28"></td>
<td align="middle"><strong><img src="/assets/images/4.gif" width="28" height="18"></strong></td>
<td align="middle"></td>
<td align="middle"><img height="18" src="/assets/images/dn1.gif" width="28"></td>
<td align="middle"></td>
<td align="middle"></td>
<td align="middle"><strong><img src="/assets/images/3.gif" width="28" height="18"></strong></td>
<td align="middle"></td>
<td align="middle"><img height="18" src="/assets/images/up1.gif" width="28"></td>
<td align="middle"></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
我希望脚本的输出采用数组形式,如下所述:
array(
[0] => First td content
[1] => Second td content
.
.
. so on...
)
我尝试了这个http://www.phpclasses.org/package/3022-PHP-Parse-HTML-tables-and-extract-data-into-arrays.html,但是它不起作用...
为了获取a内@src
每个属性的值,同时保留适当的td索引,应该执行类似的操作。<img>
<td>
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$tds = $xpath->query('//td[not(descendant::td)]');
$output = [];
foreach ($tds as $td) {
$data = null;
$sources = $xpath->query('.//img/@src', $td);
foreach ($sources as $src) {
$data = $src->value;
}
$output[] = $data;
}
var_export($output);
array (
0 => '/assets/images/dn1.gif',
1 => NULL,
2 => NULL,
3 => NULL,
4 => NULL,
5 => NULL,
6 => NULL,
7 => '/assets/images/up1.gif',
8 => '/assets/images/dn1.gif',
9 => NULL,
10 => NULL,
11 => NULL,
12 => NULL,
13 => NULL,
14 => NULL,
15 => '/assets/images/up1.gif',
16 => NULL,
17 => '/assets/images/dn1.gif',
18 => NULL,
19 => '/assets/images/5.gif',
20 => NULL,
21 => NULL,
22 => '/assets/images/up1.gif',
23 => '/assets/images/4.gif',
24 => NULL,
25 => '/assets/images/dn1.gif',
26 => NULL,
27 => NULL,
28 => '/assets/images/3.gif',
29 => NULL,
30 => '/assets/images/up1.gif',
31 => NULL,
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句