【问题标题】:get nested element content with simpleDOM使用 simpleDOM 获取嵌套元素内容
【发布时间】:2018-04-03 05:30:31
【问题描述】:

如何从以下 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-&gt;find('a.ext_link'),因为文档中有其他a 元素与ext_link 类。我只需要类player 的td 内的那些

【问题讨论】:

    标签: php html simpledom


    【解决方案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();
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      • 2022-07-15
      • 1970-01-01
      • 1970-01-01
      • 2012-09-23
      相关资源
      最近更新 更多