如何在DOM中输出elementById的文本?

时间:2012-03-09 13:38:55

标签: php dom

应该很简单。我通过DOMDocument();

加载php
    $doc = new DOMDocument();
    $doc->loadHTML($html);
    $el = $doc->getElementById('somethingId');

让我说我有

<html><head></head><body><div id="somethingId">my
<span style="background:red">something else</span> 
information</div></body></html>

Q1。如何回应$ el中的那个元素(“我的信息”)中的内容?

Q2。如何回应里面的内容并包括跨度数据(如javascript中的innerHTML)?

回答Q2:

  

$ children = $ el-&gt; childNodes;

foreach ($children as $child) { 

    $innerHTML .= $child->ownerDocument->saveXML( $child ); 

}
     

echo $ innerHTML

2 个答案:

答案 0 :(得分:1)

你应该做

echo ($el->nodeValue);

答案 1 :(得分:0)

if (!is_null($el)) {
        $content = $el->nodeValue;

        if (empty($content)) {
            $content = $el->textContent;
        }

        echo $content;
    }