Articles of dom

PHP DOMXPath – выражение для выбора tr, содержащего вход с определенным атрибутом

У меня есть следующая структура: <table> … <tr><td><input name="email" /></td></tr> … </table> Вопрос: каково выражение для выбора tr в зависимости от атрибута «name» тега «input»? В частности, я хочу знать, есть ли способ сделать это без необходимости выбора ввода, а затем перейти к выполнению иерархии -> parentNode-> parentNode … Спасибо заранее.

Реверсивный порядок элементов в DOMNodeList

Привет, я делаю RSS-ридер, и я использую DOM. Теперь я застрял, пытаясь изменить порядок элементов в DOMNodeList. Я могу сделать это с двумя циклами – один, чтобы сделать его как массив, а другой для rsort () . Есть ли способ изменить порядок в DOMNodeList или должен быть выполнен с помощью «метода массива»?

PHP DOM – снятие тегов span, оставляя их содержимое

Я хочу использовать разметку как: <span class="test">Some text that is <strong>bolded</strong> and contains a <a href="#">link</a>.</span> и найти лучший метод в PHP для удаления диапазона так, чтобы оставалось следующее: Some text that is <strong>bolded</strong> and contains a <a href="#">link</a>. Я прочитал многие другие вопросы, связанные с разбором HTML с использованием PHP DOM вместо регулярного выражения, […]

Время загрузки: быстрее ли анализировать HTML с помощью DOMDocument PHP или с регулярными выражениями?

Я вытаскиваю изображения из своей учетной записи Flickr на свой сайт, и я использовал около девяти строк кода для создания функции preg_match_all, которая вытягивала бы изображения. Я несколько раз читал, что лучше анализировать HTML через DOM. Лично мне было сложнее разобрать HTML через DOM. Я создал аналогичную функцию, чтобы вытащить изображения с помощью DOMDocument PHP, […]

PHP nodeValue strips html tags – альтернатива innerHTML?

Я использую следующий скрипт для облегченного DOM-редактора. Однако nodeValue в цикле for for преобразует мои теги html в обычный текст. Что такое PHP-альтернатива nodeValue которая будет поддерживать мой innerHTML? $page = $_POST['page']; $json = $_POST['json']; $doc = new DOMDocument(); $doc = DOMDocument::loadHTMLFile($page); $xpath = new DOMXPath($doc); $entries = $xpath->query('//*[@class="editable"]'); $edits = json_decode($json, true); $num_edits = […]

Зачем использовать dom для анализа веб-страниц вместо регулярного выражения?

Я искал вопросы об обнаружении содержимого на странице, и многие ответы рекомендуют использовать DOM при анализе веб-страниц вместо REGEX . Почему это так? Улучшает ли это время обработки или что-то в этом роде.

Как отобразить DOMElement?

Я использую код удобочитаемости для извлечения HTML с веб-страницы. Как отобразить его на странице? $content = grabArticle($webpage); echo $content; ERROR => Object of class DOMElement could not be converted to string…

Почему PHP XPath не находит элементы таблицы, хотя Firefox показывает, что они существуют?

Я пытаюсь вытащить точный стол во время «царапины в Интернете». Использовал cURL, чтобы вытащить страницу в $ html, что преуспевает. Использовал Firebug, чтобы получить точный XPATH для таблицы. Код следует: $dom = new DOMDocument($html); $dom->loadHTML($html); $xpath = new DOMXpath($dom); $summary = $xpath->evaluate('/html/body/table[5]/tbody/tr/td[3]/table/tbody/tr[8]/td/table'); echo "Summary Length: " . $summary->length; При выполнении длина $ summary-> всегда равна […]

Обрабатывать каталоги XML по php

У меня есть XSD (XML Schema), который содержит несколько файлов. В корне системы есть каталог.xml, который является каталогом XML. Он содержит определения каталога SYSTEM и URI, которые необходимы для правильной обработки файлов xsd. Теперь мой вопрос: как я могу проверить xml против этих схем в php? Если я просто использую DOMDocument-> Schemavalidate () и даю […]

Невозможно изменить значение xml с помощью PHP

Это мой XML-файл: <todos> <todo> <titel>sasd</titel> <erstellt>2012-04-30 17:19:21</erstellt> <erledigen_bis>2012-05-03</erledigen_bis> <erledigt>Nein</erledigt> <thingstodo>sffsdfdf</thingstodo> </todo> </todos> Теперь я хочу изменить значение внутри <erledigt> на «Ja». Я пробовал это со следующим кодом: <?php $filename = 'xml/todos.xml'; $xmlDoc = new DOMDocument(); $xmlDoc->load('xml/todos.xml'); $todos = $xmlDoc->getElementsByTagName('todo'); foreach ($todos as $todo) { $titel = $todo->getElementsByTagName('titel'); $actualTitel = $titel->item(0)->nodeValue; $paramTitel = $_GET["titel"]; $erstellt […]