阅读全部<;td>;使用PHP的标签
我有一些API的html输出,我想从输出中读取所有标记 PHP脚本的输入:阅读全部<;td>;使用PHP的标签,php,html,Php,Html,我有一些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 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>
我试过了,但它不起作用…的目标是为
中的每个
获取@src
属性值,同时保持适当的td索引,类似的方法应该可以做到这一点
例子:
输出:
这里真正的目标是什么?最终的结果是什么?从这些标签中你真正需要的是什么?事实上,我从第三方API获得了上面的html,我想解析它,并更改上面html的UI以用于我的自定义显示它仍然不清楚、广泛和模糊。无论如何,我建议使用
DOMDocument
+DOMXpath
,它内置于PHP中,应该可以完成这项工作,不管你需要什么,我都会试试……谢谢你,我可以直接在数组中获得src来代替完整的标记吗?是的。。。但是有了适当的td索引…例如它有32个td,所以我想要所有td的内容。
array(
[0] => First td content
[1] => Second td content
.
.
. so on...
)
$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,
)