simplehtmldom 将 Table 组合成一个 Table in simplehtmldom
simplehtmldom Combine Tables into a Single Table in simplehtmldom
我正在使用 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 被提取但结果我得到了很多 tables。具有相同的 TD class.. 我想将它们作为单个 table ..
结构如下:
<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号增减
现在任何人都可以帮助如何将它作为一个单一的 table...
您只需迭代所有 tr
并将它们添加到新的 table:
$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;
我正在使用 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 被提取但结果我得到了很多 tables。具有相同的 TD class.. 我想将它们作为单个 table ..
结构如下:
<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号增减 现在任何人都可以帮助如何将它作为一个单一的 table...
您只需迭代所有 tr
并将它们添加到新的 table:
$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;