繁体   English   中英

解析html表tr标签丢失

[英]parsing html table tr tag missing

我需要使用php解析一个html表。 但是在第一条记录之后,最后几条记录没有开始<tr>标记。 以下是代码:

<tr class="odd">
    <td class="dragHandle"></td>
    <td class="checkbox"></td>
    <td>4228651391</td>
    <td>Payment</td>
    <td>01850147130</td>
    <td>01670808080</td>
    <td>10</td>
    <td>lcghs786</td>
    <td>1</td>
    <td>18-feb-16 21:37:52</td>
</tr>
    <td class="dragHandle"></td>
    <td class="checkbox"></td>
    <td>4226429613</td>
    <td>Payment</td>
    <td>01957814120</td>
    <td>01670808080</td>
    <td>5</td>
    <td>aims777</td>
    <td>1</td>
    <td>18-feb-16 17:44:12</td>
</tr>
    <td class="dragHandle"></td>
    <td class="checkbox"></td>
    <td>4226292073</td>
    <td>Payment</td>
    <td>01957814120</td>
    <td>01670808080</td>
    <td>10</td>
    <td>AIMS786</td>
    <td>1</td>
    <td>18-feb-16 17:28:02</td>
</tr>

我尝试使用simple_html_dom库但它只返回第一条记录的array 请帮我解析如何解析所有记录并放入一个array 谢谢

首先,您需要通过此库填充缺少的tr到您的html。

http://htmlpurifier.org/

然后使用下面的代码

$content = str_get_html(your html);
$tr_array = $content->find('tr');
foreach($tr_array as $tr) {
   //process your tr data
};

最后我可以解决这个问题。 感谢@Kelvin的暗示

我已经采取了错误的静态html页面[output.html]并将其提供给名为'tidy'的html修复应用程序。 为了将数据解析为PHP'数组',我在phpclasses.org中使用了Wojtek Jarzecki的table2arr库。

修正了以下工作代码。


require_once'table2arr.php';

$字符串=的file_get_contents( 'output.html');

shell_exec(“tidy.exe output.html> test.html”);

$ clean_html =的file_get_contents( '的test.html');

$ g = new table2arr($ clean_html);

$ CNT = $ G-> TableCount的;

为($ I = 0; $我

$ G-> getcells($ⅰ);

的var_dump($ G->细胞); }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM