Articles of Домашний документ

Создание множества элементов DOM. какой метод быстрее? Эхо по HTML или с использованием класса PHP DOM?

Мне нужно создать около 10 тыс. Элементов, когда пользователь посещает мой сайт, его вид большого дерева, такого как <ul> и <li> . Процесс создания HTML в настоящее время занимает около 15 секунд, я создаю HTML в массиве, затем json_encode и повторяю его. Я пытаюсь сократить процесс. мой вопрос: было бы быстрее использовать класс DOM класса […]

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 = […]

PHP DOMDocument заменит дочерний элемент DOMElement на строку HTML

Используя PHP, я пытаюсь взять строку HTML, переданную из редактора WYSIWYG, и заменить дочерние элементы элемента внутри предварительно загруженного HTML-документа новым HTML. Пока я загружаю документ, идентифицирующий элемент, который я хочу изменить по ID, но процесс конвертации HTML в нечто, что можно разместить внутри DOMElement, ускользает от меня. libxml_use_internal_errors(true); $doc = new DOMDocument(); $doc->loadHTML($html); $element […]

Удаление предупреждения DocDocument при анализе содержимого страницы

Я пытаюсь разобрать содержание любого URL-адреса. Который не должен содержать HTML-код. Это прекрасно работает, но дает кучу ошибок при чтении содержимого по указанному URL. Как удалить это предупреждение? <?php $url= 'http://stackoverflow.com/questions/12097352/how-can-i-parse-dynamic-content-from-a-web-page'; $doc = new DOMDocument(); $doc->loadHTMLFile($url); $xpath = new DOMXPath($doc); foreach($xpath->query("//script") as $script) { $script->parentNode->removeChild($script); } $textContent = $doc->textContent; //inherited from DOMNode echo $textContent; ?> […]

PHP: DomElement-> getAttribute

Как я могу взять все атрибуты элемента? Как и в моем примере ниже, я могу получить только один за раз, я хочу вытащить весь атрибут тега привязки. $dom = new DOMDocument(); @$dom->loadHTML(http://www.example.com); $a = $dom->getElementsByTagName("a"); echo $a->getAttribute('href'); благодаря!

echo innerHTML, без тегов внешнего узла

Я использую класс DOMDocument для анализа довольно непредсказуемой строки разметки. Это еще не все, что хорошо сформировано, и мне нужны некоторые данные. Разумеется, Regex – это все. Пока у меня есть это: $dom = new DOMDocument; $dom->loadHTML($str); $contents = $dom->getElementsByTagName('body')->item(0); echo $dom->saveXML($contents); Теперь это дает мне: <body> <p>What I'm really after</p> <ul><li>Foo</li><li>Bar</li></ul> <h6>And so on</h6> […]

PHP DOMDocument getElementsByTagname?

Это приводит меня в бешенство … Я просто хочу добавить еще один узел img . $xml = <<<XML <?xml version="1.0" encoding="UTF-8"?> <gallery> <album tnPath="tn/" lgPath="imm/" fsPath="iml/" > <img src="004.jpg" caption="4th caption" /> <img src="005.jpg" caption="5th caption" /> <img src="006.jpg" caption="6th caption" /> </album> </gallery> XML; $xmlDoc = new DOMDocument(); $xmlDoc->loadXML($xml); $album = $xmlDoc->getElementsByTagname('album')[0]; // Parse […]

Как я могу получить сериализованный HTML-код элемента с DOMDocument PHP?

Это мой пример скрипта: $html = <<<HTML <div class="main"> <div class="text"> Capture this text 1 </div> <div class="date"> May 2010 </div> </div> <div class="main"> <div class="text"> Capture this text 2 </div> <div class="date"> June 2010 </div> </div> HTML; $dom = new DOMDocument(); $dom->loadHTML($html); $xpath = new DOMXPath($dom); $tags = $xpath->query('//div[@class="main"]'); foreach ($tags as $tag) { […]

php DomDocument добавляет дополнительные теги

Я пытаюсь разобрать документ и получить все теги изображений и изменить источник для чего-то другого. $domDocument = new DOMDocument(); $domDocument->loadHTML($text); $imageNodeList = $domDocument->getElementsByTagName('img'); foreach ($imageNodeList as $Image) { $Image->setAttribute('src', 'lalala'); $domDocument->saveHTML($Image); } $text = $domDocument->saveHTML(); Первоначально текст $ выглядит так: <p> Привет, это тест, вот изображение <img src = "http://mysite.com/beer.jpg" width = "60" height = […]