如何使用简单的HTML Dom来获取相邻的兄弟元素


How to use Simple HTML Dom to get an adjacent sibling element?

我使用简单的HTML Dom解析器从使用它的类名的HTML字符串中获取元素,如:

foreach ($html->find('div[class=news-div]')) {
    $news = $news-div;
}

但是我还需要得到两个元素(一个是span,另一个是a),它们出现在$news之前,但是它们没有可以预测的id,因为它是动态计算的,并且它们没有唯一的class名称。

如何提取$news-div之前出现的两个相邻元素

SimpleHTML有prev_siblingnext_sibling方法

$elems = $html->find('div[class=news-div]');
foreach ( $elems as $news ) {
    $prev_span = $news->prev_sibling();
    $prev_a    = $prev_span->prev_sibling();
}