如何用简单的html dom打印表格的单元格

And*_* SK 8 php html-parsing simple-html-dom

我有这个HTML代码.我使用Simple HTML Dom将数据解析为我自己的php脚本.

<table>
    <tr>
        <td class="header">Name</td>
        <td class="header">City</td>
    </tr>
    <tr>
        <td class="text">Greg House</td>
        <td class="text">Century City</td>
    </tr>
    <tr>
        <td class="text">Dexter Morgan</td>
        <td class="text">Miami</td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我需要在数组中获取TD内的文本,例如:

$ array [0] = array('Greg House','Century City'); $ array [1] = array('Dexter Morgan','迈阿密');

我已经尝试了几种方法来实现这一点,但我在每个人和每个人都失败了.有人可以帮我一把吗?

kar*_*m79 14

这应该做:

// get the table. Maybe there's just one, in which case just 'table' will do
$table = $html->find('#theTable');

// initialize empty array to store the data array from each row
$theData = array();

// loop over rows
foreach($table->find('tr') as $row) {

    // initialize array to store the cell data from each row
    $rowData = array();
    foreach($row->find('td.text') as $cell) {

        // push the cell's text to the array
        $rowData[] = $cell->innertext;
    }

    // push the row's data array to the 'big' array
    $theData[] = $rowData;
}
print_r($theData);
Run Code Online (Sandbox Code Playgroud)


gsa*_*h91 5

它会工作..试试这个

 include('simple_html_dom.php');
 $html = file_get_html('mytable.html');
 foreach($html->find('table tr td') as $e){
    $arr[] = trim($e->innertext);
  }

 print_r($arr);
Run Code Online (Sandbox Code Playgroud)

您也可以从任何 html 标签甚至属性中获取数据...