как вывести текст elementById в DOM? - PullRequest
0 голосов
/ 09 марта 2012

Это должно быть очень просто.Я загружаю в php через DOMDocument ();

    $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.Как отобразить то, что внутри и включая данные span (например, innerHTML в javascript)?

Ответ на Q2:

$ children = $ el-> childNodes;

foreach ($children as $child) { 

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

}

echo $ innerHTML

Ответы [ 2 ]

1 голос
/ 09 марта 2012

Вы должны сделать

echo ($el->nodeValue);
0 голосов
/ 09 марта 2012
if (!is_null($el)) {
        $content = $el->nodeValue;

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

        echo $content;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...