使用simpe-html-dom获取元素内容

Ash*_*Kan 6 php html5 simple-html-dom

我正在使用simpile_html_dom来获取html页面元素.我有一些像这样的div元素.我想要的只是在每个div中得到"Fine Thanks"句子(不在任何子元素内).我该怎么做?

<div class="right">
<h2>
<a href="">Hello</a>
</h2>
<br/>
<span>How Are You?</span>
<span>How Are You?</span>
<span>How Are You?</span>
Fine Thanks
</div>
Run Code Online (Sandbox Code Playgroud)

小智 1

simple_html_dom.php 中没有内置的方法来读取文本属性
但这应该可行;

include 'parser.php';

$html = str_get_html('<div class="right">
<h2>
<a href="">Hello</a>
</h2>
<br/>
<span>How Are You?</span>
<span>How Are You?</span>
<span>How Are You?</span>
Fine Thanks
</div>');

function readTextNode($element){
    $local = $element;
    $childs = count($element->childNodes());
    for($i = 0; $i < $childs; $i++)
        $local->childNodes($i)->outertext = '';
    return $local->innertext;
}

echo readTextNode($html->find('div.right',0));
Run Code Online (Sandbox Code Playgroud)