我想<tr>
从第二个开始找到所有内容,但我不知道如何正确..
$items = $html->find('tr');
那段代码得到所有 trs 但我想要除了第一个之外的每个人,因为那个包含<th>
.
我想<tr>
从第二个开始找到所有内容,但我不知道如何正确..
$items = $html->find('tr');
那段代码得到所有 trs 但我想要除了第一个之外的每个人,因为那个包含<th>
.
只需切断第一个元素。
$items = array_slice($html->find('tr'), 1)
如果 Simple html dom 像 Jquery 一样工作,请尝试像这样使用:
$items = $html->find('tr:not(:has(th)');
当您使用$html->find('tr');
不关心第一个“索引/行”的循环来获取列表时。
您可以从 $html->find('tr'); 获取所有 trs;从此,您可以添加条件以忽略如果对象的下一个元素是“th”标签,那么您可以忽略该 tr。
正如 PoulsQ 建议的那样,您可以这样做
$firstTr = true;
foreach($html->find('tr') as $tr) {
if(!$firstTr) {
// YOUR LOGIC FOR A TR HERE
}
else {
$firstTr = false;
}
}
但我认为如果您查询 DOM 以忽略第一个元素,它会是更好的代码。