我正在使用SimpleHTMLdom
并解压缩html文件。
我的代码如下:
include_once('simple_html_dom.php');
$curl = curl_init();
$link = "http://example.com/q/?id=123456");
curl_setopt($curl, CURLOPT_URL, "$link");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$file_contents = curl_exec($curl);
$html = str_get_html($file_contents);
$elem = $html->find('div[id=hCStatus_result]', 0)->innertext;
echo $elem;
实际上我提取的页面有一个提取的Div,但结果我得到了很多表格。与相同的TD类..我想把它们作为一个单独的表..
结构如下:
<div id="hCStatus_result" style="height:120px;overflow:auto;">
<table style="width:100%;" >
<tr > <td width="7%" align="center" class="tbcellBorder">1</td><td width="30%" align="center" class="tbcellBorder">Name1</td><td width="20%" align="center" class="tbcellBorder">Details</td> <td width="43%" align="center" class="tbcellBorder">Status OK</td></tr></table>
<table style="width:100%;" ><tr ><td width="7%" align="center" class="tbcellBorder">2</td><td width="30%" align="center" class="tbcellBorder">Name2</td><td width="20%" align="center" class="tbcellBorder">Details</td> <td width="43%" align="center" class="tbcellBorder">Status OK</td></tr>
</table> <table style="width:100%;" > <tr > <td width="7%" align="center" class="tbcellBorder"> 3 </td> <td width="30%" align="center" class="tbcellBorder"> Name3 </td> <td width="20%" align="center" class="tbcellBorder"> Details </td> <td width="43%" align="center" class="tbcellBorder"> Status OK </td> </tr></table> </div>
根据我们查询的ID号,表号增加或减少 现在任何人都可以帮助如何将它作为单个表...
答案 0 :(得分:0)
您只需迭代所有tr
并将它们添加到新表中:
$str = <<<EOF
<table>
<tr><td>table 1 - tr 1</td></tr>
</table>
<table>
<tr><td>table 2 - tr 1</td></tr>
</table>
EOF;
$html = str_get_html($str);
$table = '<table>';
foreach ($html->find('tr') as $tr){
$table .= $tr;
}
$table .= '</table>';
echo $table;