[英]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> </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.