我正在尝试使用简单的html dom从一个看起来像这样的文件中提取元素。
class=sometable
的表。 <tr class=sometr>
。 th
有标题,有一个td有一个类别。 我要提取的是所有表格中所有表格行的所有标题class=title
及其对应的类别编号class=category
。我已将文件加载到$html
中。有人能告诉我之后我应该找到什么吗?我甚至试过了$collection = $html->find('tr');
并对收藏品做了一个vardump但什么都没有,所以看起来我选择不对。
<table class="sometable">
<tbody>
<tr class="sometr">
<th><a class="title">Table 1 Title1</a></th>
<td class="category" id="categ-113"></td>
<td class="somename">Table 1 Title 1 name</td>
</tr>
<tr></tr>
<tr></tr>
</tbody>
</table>
<table class="sometable">
</table>
<table class="sometable">
</table>
答案 0 :(得分:2)
我已经测试了this并且它有效
$tables = $dom->find('table[@class="sometable"]');
foreach($tables as $table)
{
$titles = $table->find('a[@class="title"]');
foreach($titles as $title)
{
echo "Link title = " . $title ."<br />";
}
$categories = $table->find('td[@class="category"]');
foreach($categories as $category)
{
echo "Category id = " . $category->id ."<br />";
}
$titles2 = $table->find('td[@class="somename"]');
foreach($titles2 as $title2)
{
echo "Title2 = " . $title2 ."<br />";
}
}