簡體   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