Articles of domdocument

Исправить неверный XML в PHP перед обработкой с использованием функций DOMDocument

Мне нужно загрузить XML-документ в PHP, который поступает из внешнего источника. XML не объявляет его кодировку и содержит незаконные символы, такие как & . Если я попытаюсь загрузить XML-документ непосредственно в браузере, я получаю такие ошибки, как «Недопустимый символ был найден в текстовом контенте» также при загрузке файла в PHP. Я получаю множество предупреждений вроде: […]

Изменить значение атрибута тега с помощью PHP DOMDocument

Я хочу изменить значение атрибута тега с помощью PHP DOMDocument. Например, скажем, что у нас есть эта строка HTML: <a href="http://foo.bar/">Click here</a> Я загружаю вышеуказанный код в PHP следующим образом: $dom = new domDocument; $dom->loadHTML('<a href="http://foo.bar/">Click here</a>'); Я хочу изменить значение «href» на «http://google.com/», используя расширение DOMDocument для PHP. Это возможно? Спасибо за помощь, как […]

Как удалить элемент HTML с помощью класса DOMDocument

Есть ли способ удалить элемент HTML с помощью класса DOMDocument ?

Выберите узел xml по атрибуту в php

Как найти значение узла, зная значение атрибута без прохождения каждого дочернего элемента и каждого атрибута / значения? $dom = new DOMDocument; $dom->load('test.xml'); $rows = $dom->getElementsByTagName('row'); foreach ($rows as $row) { $header = VALUE OF <field name="header"> $text = VALUE OF <field name="text"> } XML: <resultset> <row> <field name="item">2424</field> <field name="header">blah blah 1</field> <field name="text" xsi:nil="true" […]

Ошибки / предупреждения PHP DOMDocument на html5-тегах

Я пытаюсь разобрать HTML5-код, поэтому я могу установить атрибуты / значения в коде, но, похоже, DOMDocument (PHP5.3) не поддерживает теги, такие как <nav> и <section> . Есть ли способ проанализировать это как HTML в PHP и управлять кодом? Код для воспроизведения: <?php $dom = new DOMDocument(); $dom->loadHTML("<!DOCTYPE HTML> <html><head><title>test</title></head> <body> <nav> <ul> <li>first <li>second </ul> […]

PHP DOMDocument – получить html источник BODY

Я использую DOMDocument PHP для анализа и нормализации представленного пользователем HTML с loadHTML метода loadHTML для синтаксического анализа содержимого, а затем получения корректного результата с помощью saveHTML : $dom= new DOMDocument(); $dom->loadHTML('<div><p>Hello World'); $well_formed= $dom->saveHTML(); echo($well_formed); Это делает красивую работу по разбору фрагмента и добавлению соответствующих закрывающих тегов. Проблема в том, что я также получаю […]

DomDocument и специальные символы

Это мой код: $oDom = new DOMDocument(); $oDom->loadHTML("èàéìòù"); echo $oDom->saveHTML(); Это результат: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p>&Atilde;&uml;&Atilde;&nbsp;&Atilde;&copy;&Atilde;&not;&Atilde;&sup2;&Atilde;&sup1;</p></body></html> Я хочу этот вывод: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p>èàéìòù</p></body></html> Я пробовал с … $oDom = new DomDocument('4.0', 'UTF-8'); или с 1.0 и другими вещами, но ничего. Другое дело … Есть […]

Как я могу легко объединить два документа XML с одним и тем же родительским узлом в один документ?

Я решил, что нет никакого способа сделать это с помощью SimpleXMLElements. Я читал руководство по PHP DOMDocument, и я думаю, что могу сделать это с итерацией, но это кажется неэффективным. Есть ли лучший способ, который не для меня? Итеративное решение Psuedocode-ish: // two DOMDocuments with same root element $parent = new … $otherParent = new […]

Почему var_dump не работает с объектами DomDocument, а print ($ dom-> saveHTML ())?

Почему var_dump не работает с объектами DomDocument , в то время как print($dom->saveHTML()) выводит результат?

PHP-анализ недействительного html

Я пытаюсь разобрать некоторые html, которые не на моем сервере $dom = new DOMDocument(); $dom->loadHTMLfile("http://www.some-site.org/page.aspx"); echo $dom->getElementById('his_id')->item(0); но php возвращает ошибку, аналогичную ID his_id already defined in http://www.some-site.org/page.aspx, line: 33 . Я думаю, это связано с тем, что DOMDocument имеет дело с недопустимым html. Итак, как я могу его разобрать, хотя это недействительно?

Intereting Posts