Articles of dom

Получение содержимого div (включая дочерние теги) с помощью DOM

Я использую DOM для получения содержимого тега div, но внутренняя часть html не показана. Функция: $dom = new DOMDocument; libxml_use_internal_errors(true); $dom->loadHTMLFile("$url"); libxml_use_internal_errors(false); $xpath = new DOMXPath($dom); $divTag = $xpath->query('//div[@id="post"]'); foreach ($divTag as $val) { echo $val->getAttribute('title') . ' – ' . $val->nodeValue . "<br />\n"; } если источник страницы (только для Div) <div id="post">Some text […]

Сохранение смещений файлов при разборе HTML с помощью DOM?

Я хочу изменить атрибуты <img src=""> в не слишком искаженном HTML (сообщения WordPress). Я знаю, что могу взять простой способ и использовать регулярные выражения, но я боюсь, что люди в синих пушистых костюмах придут ко мне во сне . Если я использую парсер DOM для чтения HTML и изменения тегов <img> , я боюсь, что […]

Вставить созданный элемент в начало тега html с помощью PHP DOM

Я пытаюсь вставить <base> HTML <base> сразу после открытия <head> страницы с помощью dom. Я пробовал использовать appendChild который просто вставляет его перед </head> что не хорошо. Код im использует: $head = $dom->getElementsByTagName('head')->item(0); $base = $dom->createElement('base'); $base->setAttribute('href', $url); $head->parentNode->insertBefore($base, $head); Это добавляет <base> перед <head> , который по-прежнему не подходит! Есть идеи? Пиво для правильного […]

Анализ данных XML / XHTML с помощью Regex

Я прочитал знаменитый пост. Я видел попытки, как с ограниченным успехом, так и с неудачей. О, пламенные войны, как здесь, так и в другом месте. Но это может быть сделано. Хотя я знаю, что фактический аргумент (факт чтения) заключается в том, что регулярные выражения не подходят для синтаксического анализа структурированных деревьев данных из-за их неспособности […]

PHP Получение XPath DOMNode

Я создаю XML-документ «на лету». и мне нужно знать XPath узла, который я только что создал. Я не вижу такой функции, как DOMNode::calculateXPath(void):string и я не хочу писать ее самостоятельно. есть ли какое-нибудь известное решение сторонней стороны?

Заменить тег в HTML с помощью DOMDocument

Я пытаюсь редактировать html-теги с DOMDocument :: loadHTML в php. Данные html являются частью html, а не всей страницы. Я последовал за тем, что эта страница ( PHP – DOMDocument – нужно изменить / заменить существующий тег HTML с новым ). Это должно преобразовать pre-теги в теги div, но это дает «Fatal error: Uncaught exception« […]

DOMXPath получает родного брата в зависимости от предыдущего значения брата

Предположим, у меня это: <foo> <bar>CCC</bar> <baz>sometexthere</baz> </foo> <foo> <bar>AAA</bar> <baz>sometext</baz> </foo> <foo> <bar>DDD</bar> <baz>something</baz> </foo> Теперь я хочу получить значение baz , которое появляется сразу после бара со значением AAA (!, но только со значением AAA !). Я не знаю, сколько у меня «foo», поэтому я не могу точно написать что-то вроде: $element->item(0) // […]

Как выводить DOMDocuments?

Может быть, мне что-то не хватает … но объект DOM пуст в этом коде: $input = file_get_contents('http://www.google.com/'); $doc = new DOMDocument(); @$doc->loadHTML($input); //supress errors on invalid html! var_dump($doc); die(); Я действительно не знаю, что может быть неправильно с этим кодом. Я проверил, что $ input фактически заполнен содержимым html веб-страницы. Вывод: object (DOMDocument) # 3 […]

php удалить недопустимые символы

У меня возникают следующие ошибки при работе с $dom->loadHTML('<?xml version="1.0" encoding="UTF-8"?>' . $html); , Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Char 0xD860 out of allowed range in Entity, line: 1 in D:\xampp\xampp\htdocs\xampp\similarity\functions.php on line 438 Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Char 0xDEE2 out of allowed range in Entity, line: 1 in D:\xampp\xampp\htdocs\xampp\similarity\functions.php on line 438 Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Invalid char […]

Расширение DOMDocument и DOMNode: проблема с объектом возврата

Я пытаюсь расширить класс DOMDocument, чтобы упростить выбор XPath. Я написал этот фрагмент кода: class myDOMDocument extends DOMDocument { function selectNodes($xpath){ $oxpath = new DOMXPath($this); return $oxpath->query($xpath); } function selectSingleNode($xpath){ return $this->selectNodes($xpath)->item(0); } } Эти методы возвращают DOMNodeList и объект DOMNode, соответственно. Теперь я хотел бы реализовать аналогичные методы для объектов DOMNode. Но, очевидно, если […]

Intereting Posts