Как отобразить содержимое узлов, включая HTML-теги, используя php domdocument
У меня есть Domnodelist узлов html, которые я хотел бы включить, включая их теги html, чтобы я мог применить регулярное выражение. Когда я делаю:
foreach ($nodeList as $key => $node) {
echo $node->nodeValue;
}
Я получаю только текстовые части узлов без HTML-тегов.
когда я пытаюсь:
echo $ node-> saveHTML;
Я получаю сообщение об ошибке: неопределенное свойство: DOMElement::$saveHTML
Как я могу это сделать?
Заранее спасибо,
Билл
1 ответ
saveHTML
это функция, так что вам нужно ее вызвать (вам не хватало паренов). Это также часть DOMDocument
; узел будет передан в качестве параметра.
Итак, правильная форма:
echo $document->saveHTML($node);
Важная заметка: saveHTML
поддерживает только параметр из PHP 5.3.6 и далее.
Тем не менее, люди используют DOMDocument
специально, чтобы они могли обрабатывать его, не прибегая к регулярным выражениям. Кажется, что здесь вы пытаетесь сделать наоборот. Если это так, пересмотрите свой подход - регулярные выражения - это хакерский способ обработки HTML, который доставит неприятности, как только вы решите сделать что-то не совсем тривиальное.