首页 > 解决方案 > 如何通过简单的 html dom 获取 div 的内容文本 - php

问题描述

simple dom html我通过(file_get_html(' http://example.com '))得到底部的 html 代码

<div id="ship" class="fe" data-feature-name="box" data-cel-widget="sox">
 <div class="a-medium b-di">
   <div id="mer-info" class="a-section a-spacing-mini">

    Hello World

     <span class="">          
    </span>   

  </div>
 </div>
</div>

如何获得“ Hello World ”内容文本?

我尝试了很多东西,例如底部文本,但这给了我'NULL'

   $html->find('div[id="mer-info"]',0);
   $html->find("div#mer-info");
   $html->find("div#mer-info")->plaintext;
   $html->find('div[id="mer-info"]')->innertext;
   and ...

但我还是 NULL !

标签: phpsimple-html-dom

解决方案


您只将第二个参数 (0) 传递给find用作div[id="mer-info"]选择器的方法,这似乎无法被 find 方法识别。尝试以下操作:

require 'simple_html_dom.php';

$html =<<<html
<div id="ship" class="fe" data-feature-name="box" data-cel-widget="sox">
 <div class="a-medium b-di">
   <div id="mer-info" class="a-section a-spacing-mini">

    Hello World

     <span class="">
    </span>

  </div>
 </div>
</div>
html;

$dom = str_get_html($html);

$elem = $dom->find('#mer-info', 0);
print $elem->plaintext;
print "\n";

$elem = $dom->find('div#mer-info', 0);
print $elem->plaintext;

推荐阅读