Articles of domdocument

Почему DomDocument getElementsByTagName возвращает половину NodeList?

Я генерирую HTML-код нестандартного тега с помощью DomDocument, и в результате получается следующее: /* Input HTML <div id="toobar_top"> <widget id="flag_holder"></widget> <widget id="horizontal_menu"></widget> </div> <div id="header"> <widget name="header"></widget> </div> */ То, что я хочу сделать, это «перевести» каждый виджет в нечто полезное … они простые заполнители с параметрами. Выделение функции из класса: private function widgeter($doc) { […]

Как добавить элементы в DOMNodeList в PHP?

Есть ли способ создать собственный DOMNodeList? Например: $doc = new DOMDocument(); $elem = $doc->createElement('div'); $nodeList = new DOMNodeList; $nodeList->addItem($elem); // ? Моя идея – расширить класс DOMDocument, добавив некоторые полезные методы, которые возвращают данные как DOMNodeList. Можно ли это сделать, не написав мою собственную версию класса DOMNodeList?

Могу ли я получить братьев и сестер с помощью DOMDocument от PHP?

Я получил некоторые ссылки h3 в DOMDocument PHP. $dom = new DOMDocument(); $dom->loadHtml($content); $h3s = $dom->getElementsByTagName('h3'); foreach($h3s as $h3) { var_dump($h3->nodeValue); } Мне нужно получить следующие элементы после h3 s. В этом случае все элементы будут соответствовать следующему h3 или концу документа. Он легко работал с регулярным выражением, но я не хочу использовать его здесь […]

DOMDocument удаляет теги сценариев из источника HTML

Я использовал подход @ Alex здесь, чтобы удалить теги сценариев из HTML-документа, используя встроенный DOMDocument. Проблема в том, что если у меня есть тег скрипта с содержимым Javascript, а затем другой тег скрипта, который ссылается на внешний исходный файл Javascript, не все теги скриптов удаляются из HTML. $result = ' <!doctype html> <html> <head> <meta […]

Базовый DOMXpath, может быть неправильным? (re: проверить пространство имен ввода всегда)

Я использую внутренний domDocument в классе $this->doc->dom , и я думаю, что это нормально, потому что $this->doc->dom->saveXML() работает и показывает мой XML, что-то вроде <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>04</title> <link href="css/04.css" rel="stylesheet" type="text/css"/> </head> … И когда я использую $xpath = new DOMXpath($this->doc->dom); $elements = $xpath->query('//link'); не сообщалось […]

Загрузка DOMDocument на странице, возвращающей 400 Bad Request status

Я пытаюсь использовать API Last.fm для приложения, которое я создаю, но у меня есть некоторые проблемы с проверкой. Если запрос API дает ошибку, он возвращает код и сообщение в XML-ответе следующим образом: <lfm status="failed"> <error code="6">No user with that name</error> </lfm> Тем не менее, запрос также возвращает HTTP-статус 400 (или, в некоторых случаях, 403), который […]

PHP DOMDocument: как анализировать xml / rss теги с именами полей CUSTOM?

У меня ниже RSS для синтаксического анализа, например: <?xml version="1.0" encoding="utf-8"?> <rss xmlns:x-wr="http://www.w3.org/2002/12/cal/prod/Apple_Comp_628d9d8459c556fa#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:x-example="http://www.example.com/rss/x-example" xmlns:x-microsoft="http://schemas.microsoft.com/x-microsoft" xmlns:xCal="urn:ietf:params:xml:ns:xcal" version="2.0"> <channel> <item> <title>About Apples</title> <author>David K. Lowie</title> <x-trumba:customfield name="description">This is the description about apples</xCal:customfield> <x-trumba:customfield name="category">Fruits,Food,Apple</xCal:customfield> </item> <item> <title>About Oranges</title> <author>Marry L. Jones</title> <x-trumba:customfield name="description">This is the description about oranges</xCal:customfield> <x-trumba:customfield name="category">Fruits,Food,Orange</xCal:customfield> </item> </channel> </rss> В […]

PHP DOMDocument получает текст между двумя тегами SETS

Есть ли способ использовать Xpath для разбора текста между двумя тегами SETS ? Например, см. Пример: <div class="par"> <p class="pp"> <span class="dv">1 </span>Blah blah blah blah. <span class="dv">2 </span> Yada yada yada yada. <span class="dv">3 </span>Foo foo foo foo. </p> </div> <div class="par"> <p class="pp"> <span class="dv">4 </span>Hmm hmm hmm hmm. </p> </div> Я хочу […]

DOMDocument :: loadHTMLFile () изменить пользовательский агент

Я использую PHP для загрузки сайта в DOM Tree. Есть ли способ изменить агент пользователя, который отправляется с использованием DOMDocument::loadHTMLFile() ? function parseThis($url) { $html = new DOMDocument(); $html->loadHtmlFile( $url ); return $html }

DOMDocument нужно искать элемент, который имеет атрибут class = "something"

В PHP я использую DOMDocument, и мне нужно искать элемент с атрибутом class = "something" Я новичок в DOMDocument (использую REGEX всю свою жизнь, поэтому помогите мне: P) Итак, мой вопрос: я нашел DOMElement, используя getElementById, теперь я хочу заглянуть внутрь дочерних элементов этого элемента и получить узел с определенным классом, class = "something" Как […]