Добрый день!
В общем решил поковырять DOM, не могу понять как сохранить результат.
Имеется html файл, который я сначала считываю, потом меняю в нём некоторые параметры и нужно сохранить изменения в новый файл
PHP:
скопировать код в буфер обмена
$dom = new DOMDocument; $dom -> loadHTMLFile($this -> tmp_dir . $this -> CurrentPage() . $this -> ext); $html = $dom -> getElementsByTagName('html');
Пробовал записывать так
и так
В первом случае ругается что неверный метод
Во втором ни на что не ругается и создаёт файл вот с такой записью
CODE ( html):
скопировать код в буфер обмена
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
100% не пустая, потому как дальше я произвожу кучу манипуляций с её дочерними элементами
практически все возможные ситуации когда элемент пустой или у элемента нет нужного параметра, всё это проверяется в процессе обработки и если произошла ошибка то скрипт останавливается и выводит сообщение
PHP:
скопировать код в буфер обмена
$html->item(0)->childNodes->length;//равно двум - head и body. $html->item(0)->childNodes->item(0)->childNodes->length;// равно 9. тут тоже всё правильно - 1 title, 5 meta, 1 script и 2 link $html->item(0)->childNodes->item(1)->childNodes->length;// равно 10. Если посчитать все div внутри body то получается как раз 10 $html->item(0)->childNodes->item(0)->childNodes->item(2)->nodeName;// выводит слово meta $html->item(0)->childNodes->item(0)->childNodes->item(2)->getAttribute('name');// выводит слово keywords $html->item(0)->childNodes->item(0)->childNodes->item(2)->getAttribute('content');// выводит ключевые слова страницы
Почему может не работать
|