使用simpleDOM获取嵌套元素内容

时间:2017-10-22 16:08:41

标签: php html simpledom

如何从以下DOM获取简单DOM的ext_link内容?

...
<td class="player">
<img src="Web/Images/Players/33/45d5652.png" />
<a class="ext_link" target="_blank" href="2017-18/Player/7124151">Michel Jordan</a>
</td>
... 

我尝试过:

foreach($html->find('td.player')->find('a.ext_link') as $element) {
       echo $element->innertext . '<br>';
}

以及:

foreach($html->find('td.player')->children(2) as $element) {
       echo $element->innertext . '<br>';
}

但两次尝试均无效。

注意我无法$html->find('a.ext_link'),因为文档中还有其他a个带ext_link类的元素。我只需要使用类player

的td中的那些

1 个答案:

答案 0 :(得分:1)

我认为你可以find这样的所有(嵌套)孩子:

foreach($html->find('td[class=player] a[class="ext_link"]') as $element){
    echo $element->innertext();
}

如果你只想要直接的孩子,这可以是一个选择:

foreach($html->find('td[class=player]') as $element){
    foreach ($element->childNodes() as $childNode) {
        if ($childNode->nodeName() === "a") {
            echo $childNode->innertext();
        }
    }
}