PHP сохранить HTML на DOMDocument - PullRequest
       18

PHP сохранить HTML на DOMDocument

0 голосов
/ 26 августа 2011
$html = <<<HTML
<div class="hey">test</div>
<div id="no">bla</div>
<div class="hey"><b>sa</b> hey<div id="l">b</div></div>  
HTML;

$dom = new DOMDocument('1.0', 'utf-8');
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$q = '//div[@class="hey"]';
$arr = $xpath->query($q);
foreach($arr as $el) {
    echo $el->nodeValue;
}  

У меня есть этот код выше, но он не сохраняет HTML внутри класса "эй". Как я могу сохранить HTML внутри div?

Ответы [ 2 ]

0 голосов
/ 26 августа 2011

вы можете использовать saveXML или saveHTML с необязательным аргументом contextNode (установите его в $ el), чтобы получить строку. Эта строка также будет содержать div.hey, удалите ее через RegExp.

Обратите внимание: saveHTML поддерживает необязательный contextNode начиная с версии 5.3.6

0 голосов
/ 26 августа 2011

Попробуйте $e1->textContent вместо $e1->nodeValue

textContent

Этот атрибут возвращает текстовое содержимое этого узла и его потомков.

nodeValue

Значение этого узла в зависимости от его типа

...