doucheng7808 2017-10-22 16:08
浏览 88
已采纳

使用simpleDOM获取嵌套元素内容

How do I get ext_link content with simple DOM from the following DOM?

...
<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>
... 

I tried with:

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

and also with:

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

But both attempts didn't work.

Note that I can't do $html->find('a.ext_link') because there are other a elements with ext_link class in the document. I only need the ones inside the td with class player

  • 写回答

1条回答 默认 最新

  • dpict99695329 2017-10-22 18:03
    关注

    I think that you can find all the (nested) children like this:

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

    If you only want the direct children, this can be an option:

    foreach($html->find('td[class=player]') as $element){
        foreach ($element->childNodes() as $childNode) {
            if ($childNode->nodeName() === "a") {
                echo $childNode->innertext();
            }
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料