如何使用 PHP 简单的 html dom 获取特定的表格单元格值

Posted

技术标签:

【中文标题】如何使用 PHP 简单的 html dom 获取特定的表格单元格值【英文标题】:How to get specific table cell value by using PHP simple html dom 【发布时间】:2019-02-09 04:05:20 【问题描述】:
             head1 head2 head3 head4 head5
       row1     0    0     0     0    155
       row2     0    0     0     0      8
       row3     0    0     0     0    163

现在我想得到 (163) 的最后一个值。

【问题讨论】:

请分享您迄今为止尝试过的内容,并更具体一些,以便我们知道您需要帮助的代码部分。 另外,确定输入 html 的确切结构是一种猜测工作,因为您只提供渲染结果。 【参考方案1】:

你已经更新了你的问题,所以在更新的问题的基础上你也可以使用这个代码

//$url is your path
$j = new simple_html_dom();
$j = file_get_html($url);

foreach($j->find('table tr') as $row) 
    $cell = $row->find('td', 0);
    echo $cell;

你需要php Simple HTML DOM Parser库去这个url并下载

你可以像这样包含文件

 require_once 'simple_html_dom.php';

这里是Simple HTML DOM Parser的完整文档

对于您可以使用的特定单元格

// Example
echo $html->find("#table_id", 0)->children(1)->children(1)->children(2)->id;
// or 
echo $html->getElementById("table_id")->childNodes(1)->childNodes(1)->childNodes(2)->getAttribute('id');

我认为你应该阅读HTML DOM Parser Manual。有多种方法可以获取 childNodes

【讨论】:

致命错误:调用成员函数 find() on null in @Karthik 我已经更新了我在代码下方使用的答案,如果您发现任何错误,请更新我 我又遇到了同样的问题,我已经得到了整个表格数据,但我只想要特定的表格单元格 (163)。请看示例表记录。 echo $html->find("#table_id", 0)->children(1)->children(1)->children(2)->id;基本如何在不使用任何 id 或类的情况下从表中获取确切值。

以上是关于如何使用 PHP 简单的 html dom 获取特定的表格单元格值的主要内容,如果未能解决你的问题,请参考以下文章

PHP Simple HTML DOM Parser 如何使用 find 方法获取第三个表

使用简单的 html dom 获取 url-data 属性

如何使用简单的 HTML Dom 获取图像元素旁边的文本?

PHP DOM获取nodevalue html? (不剥离标签)

输入字段中的简单 HTML DOM 解析器

使用 PHP Simple HTML DOM Parser 获取文本