- DOMDocument php, как получить содержимое блока, с html тегами?
- How to Get HTML Tag Value in PHP | DOMDocument Object
- Example 1: PHP Get HTML Element Value
- Example 2: PHP Get HTML Element Value By ID
- How can I get a div content in php
- 3 Answers 3
- how to extract text from a html element by id and assign to a php variable?
- 3 Answers 3
DOMDocument php, как получить содержимое блока, с html тегами?
а именно необходимо получить содержимое блока с идентификатором «firstElement», вместе с HTML тегами. Я использую DOMDocument, но получается вывести только текст.
Подскажите пожалуйста, как правильно получить содержимое?
P.S. вложенных блоков может быть сколько угодно много! и у всех может быть разное содержание!
Вот чудо методы для работы с дом-моделью в PHP.
Я не сильно понял вопрос, но благодаря всякой фигне, которая тут написана, мне удалось управлять DOM моделью в PHP.
Вам надо обратить внимание на всякие такие штуки как DOMElement. Потому, что получив DOMDocument веселье не кончается. Теперь вам надо наладить работу с его «Документа» элементами. А значит не помешает так же распочковать структуру всех искомых элементов.
Это можно делать с помощью методов работы с ДОМЕлементами. Такими методами как
public DOMNodeList getElementsByTagName ( string $name )
Но я советую более детально ознакомиться с возможностями работы с ДОМЕлементами, чтоб не вышло путаницы. Найти там то, что вам надо и решить свою задачу.
После публикации вопроса, прошло время и вот что я добился!
Перекурил документацию по php, и сделал вот так:
$file = file_get_contents('../test.html'); libxml_use_internal_errors(TRUE); $node = new DOMDocument(); $text = $node->loadHTML('' . $file); $id = $node->getElementById('firstElement'); $html = $node->saveHTML($id);
Тут я добился, что переменная $html — представляет собой ‘string’ со всем содержимым тут все понятно.
Но дальше необходимо вставить $html в другой документ в блок с известным идентификатором, рабочее решение будет с использованием регулярки (написана прям тут) таким:
$file = file_get_contents('./какой-тоФайл.html'); preg_replace('/(\)/', '\\1 $html', $file);
А вот используя DOMDocument и все такое, я не могу вставить узел, не могу понять (или еще не дочитал) как! Причем пытаюсь использовать DOMNode::appendChild и передаю ей $id из кода выше, но не работает!
How to Get HTML Tag Value in PHP | DOMDocument Object
Inside this article we will see the concept i.e How to get HTML tag value in PHP. If you are looking of an article which makes you understand about How to parse HTML tags and elements then this article is best to get those concept.
DOMDocument object of PHP used to parse HTML string value. If we want to get tag name, it’s values etc then object will help for all those.
DOMDocument of PHP also termed as PHP DOM Parser. We will see step by step concept to get the HTML tag value using DOM parser.
Example 1: PHP Get HTML Element Value
Create a file index.php at your localhost directory. Open index.php and write this complete code into it.
This is Sample Text Message 1
This is Sample Text Message 2
This is Sample Text Message 3