繁体   English   中英

PHP使用domdocument从html提取数据

[英]PHP Using domdocument to extract data from html

我有一个具有以下结构的表。 我似乎无法获得所需的数据。

<table class="gsborder" cellspacing="0" cellpadding="2" rules="cols" border="1" id="d00">
    <tr class="gridItem">
        <td>Code</td><td>0adf</td>
    </tr><tr class="AltItem">
        <td>CompanyName</td><td>Some Company</td>
    </tr><tr class="Item">
        <td>Owner</td><td>Jim Jim</td>
    </tr><tr class="AltItem">
        <td>DivisionName</td><td>&nbsp;</td>
    </tr><tr class="Item">
        <td>AddressLine1</td><td>9314 W. SPRING ST.</td>
    </tr>
</table>

该表当然嵌套在页面内的另一个表中。 例如,如何使用DomDocument将“代码”和“ 0adf”称为键值对? 实际上,它们不需要在键值对中,但我应该能够分别将它们分别命名。

编辑:

使用PHP Simple HTML,我可以使用以下方法提取所需的数据:

  $foo = $html->getElementById("d00")->childNodes(1)->childNodes(1);

但是,这样做的问题是我的数据带有两个<td></td>标记。 有没有办法只获取没有标签的原始数据?

另外,这是从表中获取数据的正确方法吗?

如果您对DOMDocument的使用还不满意,请尝试使用PHP Simple HTML DOM Parser 这样的好处是允许您解析不是有效XML的HTML,以及为解析后的文档提供更好的接口。

您可以这样写:

$html = str_get_html(...);
foreach($html->find('tr') as $tr) 
{
  print 'First td: ' . $tr->find('td', 0)->plaintext;
  print 'Second td: ' . $tr->find('td', 1)->plaintext;
}

暂无
暂无

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

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