# Document Object Model

# Введение

Модуль DOM открывает доступ к операциям с XML- и HTML-документами через DOM API в PHP.

> Замечание: Модуль DOM работает с кодировкой UTF-8. Для работы с другими кодировками пользуются функциями mb_convert_encoding() или iconv(), или методом UConverter::transcode().

- Установка и настройка
  - Требования
  - Установка
- Предопределённые константы
- Примеры
- DOMAttr — Класс DOMAttr
  - DOMAttr::__construct — Создаёт экземпляр класса DOMAttr
  - DOMAttr::isId — Проверяет, является ли атрибут определённым идентификатором
- DOMCdataSection — Класс DOMCdataSection
  - DOMCdataSection::__construct — Создаёт новый экземпляр класса DOMCdataSection
- DOMCharacterData — Класс DOMCharacterData
  - DOMCharacterData::after — Добавляет узлы после символьных данных
  - DOMCharacterData::appendData — Добавить строку в конец символьных данных узла
  - DOMCharacterData::before — Добавляет узлы перед символьными данными
  - DOMCharacterData::deleteData — Удалить диапазон символов из символьных данных
  - DOMCharacterData::insertData — Вставить строку в указанную кодовую позицию UTF-8
  - DOMCharacterData::remove — Удаляет символьные данные
  - DOMCharacterData::replaceData — Заменяет подстроку в узле символьных данных
  - DOMCharacterData::replaceWith — Заменяет символьные данные новыми узлами
  - DOMCharacterData::substringData — Извлекает определённый диапазон из символьных данных
- DOMChildNode — Интерфейс DOMChildNode
  - DOMChildNode::after — Добавляет узлы после узла
  - DOMChildNode::before — Добавляет узлы перед узлом
  - DOMChildNode::remove — Удаляет узел
  - DOMChildNode::replaceWith — Заменяет узел на новые узлы
- DOMComment — Класс DOMComment
  - DOMComment::__construct — Создаёт новый экземпляр класса DOMComment
- DOMDocument — Класс DOMDocument
  - DOMDocument::adoptNode — Переносит узел из другого документа
  - DOMDocument::append — Добавляет узлы после последнего дочернего узла
  - DOMDocument::__construct — Создаёт новый объект DOMDocument
  - DOMDocument::createAttribute — Создаёт новый атрибут
  - DOMDocument::createAttributeNS — Создаёт новый атрибут узла с соответствующим пространством имён
  - DOMDocument::createCDATASection — Создаёт новый узел cdata
  - DOMDocument::createComment — Создать новый узел комментария
  - DOMDocument::createDocumentFragment — Создаёт новый фрагмент документа
  - DOMDocument::createElement — Создаёт новый узел элемента
  - DOMDocument::createElementNS — Создать новый узел элемента с соответствующим пространством имён
  - DOMDocument::createEntityReference — Создать новый узел ссылки на сущность
  - DOMDocument::createProcessingInstruction — Создать новый PI-узел
  - DOMDocument::createTextNode — Создать новый текстовый узел
  - DOMDocument::getElementById — Ищет элемент с определённым идентификатором
  - DOMDocument::getElementsByTagName — Ищет все элементы с заданным локальным именем
  - DOMDocument::getElementsByTagNameNS — Ищет все элементы с заданным именем в указанном пространстве имён
  - DOMDocument::importNode — Импортировать узел в текущий документ
  - DOMDocument::load — Загрузка XML из файла
  - DOMDocument::loadHTML — Загрузка HTML из строки
  - DOMDocument::loadHTMLFile — Загрузка HTML из файла
  - DOMDocument::loadXML — Загрузка XML из строки
  - DOMDocument::normalizeDocument — Нормализует документ
  - DOMDocument::prepend — Добавляет узлы перед первым дочерним узлом
  - DOMDocument::registerNodeClass — Регистрирует производный пользовательский класс, через который создаётся тип базового узла
  - DOMDocument::relaxNGValidate — Производит проверку документа на правильность построения посредством relaxNG
  - DOMDocument::relaxNGValidateSource — Проверяет документ посредством relaxNG
  - DOMDocument::replaceChildren — Заменяет дочерние узлы в документе
  - DOMDocument::save — Сохраняет XML-дерево из внутреннего представления в файл
  - DOMDocument::saveHTML — Сохраняет документ из внутреннего представления в строку, используя форматирование HTML
  - DOMDocument::saveHTMLFile — Сохраняет документ из внутреннего представления в файл, используя форматирование HTML
  - DOMDocument::saveXML — Сохраняет XML-дерево из внутреннего представления в виде строки
  - DOMDocument::schemaValidate — Проверяет действительность документа, основываясь на заданной схеме. Поддерживается только XML-схема 1.0.
  - DOMDocument::schemaValidateSource — Проверяет действительность документа, основываясь на схеме
  - DOMDocument::validate — Проверяет документ на соответствие его DTD
  - DOMDocument::xinclude — Проводит вставку XInclude в объекте DOMDocument
- DOMDocumentFragment — Класс DOMDocumentFragment
  - DOMDocumentFragment::append — Добавляет узлы после последнего дочернего узла
  - DOMDocumentFragment::appendXML — Добавление необработанных данных XML
  - DOMDocumentFragment::__construct — Конструктор объекта DOMDocumentFragment
  - DOMDocumentFragment::prepend — Добавляет узлы перед первым дочерним узлом
  - DOMDocumentFragment::replaceChildren — Заменяет дочерние элементы фрагмента
- DOMDocumentType — Класс DOMDocumentType
- DOMElement — Класс DOMElement
  - DOMElement::after — Добавляет узлы после элемента
  - DOMElement::append — Добавляет узлы после последнего дочернего узла
  - DOMElement::before — Добавляет узлы перед элементом
  - DOMElement::__construct — Создаёт новый экземпляр класса DOMElement
  - DOMElement::getAttribute — Возвращает значение атрибута
  - DOMElement::getAttributeNames — Получает имена атрибутов
  - DOMElement::getAttributeNode — Возвращает узел атрибута
  - DOMElement::getAttributeNodeNS — Возвращает узел атрибута
  - DOMElement::getAttributeNS — Возвращает значение атрибута
  - DOMElement::getElementsByTagName — Возвращает элементы по имени тега
  - DOMElement::getElementsByTagNameNS — Получает элементы по локальному имени в заданном пространстве имён
  - DOMElement::hasAttribute — Проверяет, существует ли атрибут
  - DOMElement::hasAttributeNS — Проверяет, существует ли заданный атрибут
  - DOMElement::insertAdjacentElement — Добавляет соседний элемент
  - DOMElement::insertAdjacentText — Добавляет соседний текст
  - DOMElement::prepend — Добавляет узлы перед первым дочерним узлом
  - DOMElement::remove — Удаляет элемент
  - DOMElement::removeAttribute — Удаляет атрибут
  - DOMElement::removeAttributeNode — Удаляет атрибут
  - DOMElement::removeAttributeNS — Удаляет атрибут
  - DOMElement::replaceChildren — Заменяет дочерние элементы в элементе
  - DOMElement::replaceWith — Заменяет элемент новыми узлами
  - DOMElement::setAttribute — Добавляет новый или изменяет существующий атрибут
  - DOMElement::setAttributeNode — Добавляет новый узел атрибута в элемент
  - DOMElement::setAttributeNodeNS — Добавляет новый атрибут в элемент
  - DOMElement::setAttributeNS — Добавляет новый атрибут
  - DOMElement::setIdAttribute — Объявляет атрибуту c указанным именем тип ID
  - DOMElement::setIdAttributeNode — Объявляет указанному узлу атрибута тип ID
  - DOMElement::setIdAttributeNS — Объявляет атрибуту с указанными локальным именем и URI пространства имён тип ID
  - DOMElement::toggleAttribute — Переключает атрибут
- DOMEntity — Класс DOMEntity
- DOMEntityReference — Класс DOMEntityReference
  - DOMEntityReference::__construct — Создаёт новый объект класса DOMEntityReference
- DOMException — Класс DOMException / Dom\Exception class
- DOMImplementation — Класс DOMImplementation
  - DOMImplementation::__construct — Создаёт новый объект класса DOMImplementation
  - DOMImplementation::createDocument — Создаёт объект класса DOMDocument заданного типа с его элементом document
  - DOMImplementation::createDocumentType — Создаёт пустой объект класса DOMDocumentType
  - DOMImplementation::hasFeature — Проверяет, реализует ли DOM-реализация интерфейс конкретного модуля DOM
- DOMNamedNodeMap — Класс DOMNamedNodeMap
  - DOMNamedNodeMap::count — Количество узлов в отображении
  - DOMNamedNodeMap::getIterator — Получает внешний итератор
  - DOMNamedNodeMap::getNamedItem — Получает узел по имени
  - DOMNamedNodeMap::getNamedItemNS — Получает узел с заданным локальным именем и URI пространства имён
  - DOMNamedNodeMap::item — Получает узел с заданным индексом
- DOMNameSpaceNode — Класс DOMNameSpaceNode
  - DOMNameSpaceNode::__sleep — Запрещает сериализацию, если только методы сериализации не реализовали в подклассе
  - DOMNameSpaceNode::__wakeup — Запрещает десериализацию, если только методы десериализации не реализовали в подклассе
- DOMNode — Класс DOMNode
  - DOMNode::appendChild — Добавляет новый дочерний узел в конец списка потомков
  - DOMNode::C14N — Канонизирует узлы в строку
  - DOMNode::C14NFile — Канонизировать узлы в файл
  - DOMNode::cloneNode — Клонирует узел
  - DOMNode::compareDocumentPosition — Сравнивает положение двух узлов
  - DOMNode::contains — Проверяет, содержит ли узел другой узел
  - DOMNode::getLineNo — Получает номер строки узла
  - DOMNode::getNodePath — Получение XPath узла
  - DOMNode::getRootNode — Получает корневой узел
  - DOMNode::hasAttributes — Проверяет, имеет ли данный узел атрибуты
  - DOMNode::hasChildNodes — Проверяет, имеет ли данный узел потомков
  - DOMNode::insertBefore — Добавляет новый дочерний узел перед указанным узлом
  - DOMNode::isDefaultNamespace — Проверяет, является ли указанный URI пространства имён узла пространством имён по умолчанию или нет
  - DOMNode::isEqualNode — Проверяет, что оба узла идентичны
  - DOMNode::isSameNode — Указывает, являются ли два узла одним и тем же узлом
  - DOMNode::isSupported — Проверяет, поддерживается ли возможность в определённой версии
  - DOMNode::lookupNamespaceURI — Получает URI пространства имён узла по префиксу
  - DOMNode::lookupPrefix — Получает префикс пространства имён узла из URI-идентификатора пространства имён
  - DOMNode::normalize — Нормализует узел
  - DOMNode::removeChild — Удаляет дочерний узел из списка потомков
  - DOMNode::replaceChild — Заменяет дочерний узел
  - DOMNode::__sleep — Запрещает сериализацию, если только методы сериализации не реализовали в подклассе
  - DOMNode::__wakeup — Запрещает десериализацию, если только методы десериализации не реализовали в подклассе
- DOMNodeList — Класс DOMNodeList
  - DOMNodeList::count — Получить количество узлов в списке
  - DOMNodeList::getIterator — Получает внешний итератор
  - DOMNodeList::item — Извлекает узел по индексу
- DOMNotation — Класс DOMNotation
- DOMParentNode — Интерфейс DOMParentNode
  - DOMParentNode::append — Добавляет узлы после последнего дочернего узла
  - DOMParentNode::prepend — Добавляет узлы перед первым дочерним узлом
  - DOMParentNode::replaceChildren — Заменяет потомков в узле
- DOMProcessingInstruction — Класс DOMProcessingInstruction
  - DOMProcessingInstruction::__construct — Создаёт новый объект класса DOMProcessingInstruction
- DOMText — Класс DOMText
  - DOMText::__construct — Создаёт объект класса DOMText
  - DOMText::isElementContentWhitespace — Возвращает, содержит ли текстовый узел пробел в содержимом элемента
  - DOMText::isWhitespaceInElementContent — Определяет, содержит ли текстовый узел пробелы в содержимом
  - DOMText::splitText — Разделяет узел на два, начиная с заданной позиции
- DOMXPath — Класс DOMXPath
  - DOMXPath::__construct — Создаёт новый объект класса DOMXPath
  - DOMXPath::evaluate — Вычисляет XPath-выражение и возвращает типизированный результат, если возможно
  - DOMXPath::query — Вычисляет XPath-выражение
  - DOMXPath::quote — Берёт в кавычки строку для XPath-выражения
  - DOMXPath::registerNamespace — Регистрирует пространство имён с объектом DOMXPath
  - DOMXPath::registerPhpFunctionNS — Регистрирует PHP-функции как XPath-функции с пространством имён
  - DOMXPath::registerPhpFunctions — Регистрирует PHP-функции как XPath-функции
- Dom\AdjacentPosition — Перечисление Dom\AdjacentPosition
- Dom\Attr — Класс Dom\Attr
  - Dom\Attr::isId — Проверяет, является ли атрибут определённым идентификатором
  - Dom\Attr::rename — Изменяет квалифицированное имя или пространство имён атрибута
- Dom\CDATASection — Класс Dom\CDATASection
- Dom\CharacterData — Класс Dom\CharacterData
  - Dom\CharacterData::after — Добавляет узлы после символьных данных
  - Dom\CharacterData::appendData — Добавить строку в конец символьных данных узла
  - Dom\CharacterData::before — Добавляет узлы перед символьными данными
  - Dom\CharacterData::deleteData — Удалить диапазон символов из символьных данных
  - Dom\CharacterData::insertData — Вставить строку в указанную кодовую позицию UTF-8
  - Dom\CharacterData::remove — Удаляет символьные данные
  - Dom\CharacterData::replaceData — Заменяет подстроку в узле символьных данных
  - Dom\CharacterData::replaceWith — Заменяет символьные данные новыми узлами
  - Dom\CharacterData::substringData — Извлекает определённый диапазон из символьных данных
- Dom\ChildNode — Интерфейс Dom\ChildNode
  - Dom\ChildNode::after — Добавляет узлы после узла
  - Dom\ChildNode::before — Добавляет узлы перед узлом
  - Dom\ChildNode::remove — Удаляет узел
  - Dom\ChildNode::replaceWith — Заменяет узел на новые узлы
- Dom\Comment — Класс Dom\Comment
- Dom\Document — Класс Dom\Document
- Dom\DocumentFragment — Класс Dom\DocumentFragment
- Dom\DocumentType — Класс Dom\DocumentType
- Dom\DtdNamedNodeMap — Класс Dom\DtdNamedNodeMap
- Dom\Element — Класс Dom\Element
- Dom\Entity — Класс Dom\Entity
- Dom\EntityReference — Класс Dom\EntityReference
- Dom\HTMLCollection — Класс Dom\HTMLCollection
- Dom\HTMLDocument — Класс Dom\HTMLDocument
  - Dom\HTMLDocument::createEmpty — Создает пустой HTML-документ
  - Dom\HTMLDocument::createFromFile — Разбирает содержимое файла как HTML-документ
  - Dom\HTMLDocument::createFromString — Разбирает содержимое строки как HTML-документ
  - Dom\HTMLDocument::saveHtml — Сериализует документ как HTML-строку
  - Dom\HTMLDocument::saveHtmlFile — Сериализует документ как HTML-файл
  - Dom\HTMLDocument::saveXml — Сериализует документ как XML-строку
  - Dom\HTMLDocument::saveXmlFile — Сериализует документ как XML-файл
- Dom\HTMLElement — Класс Dom\HTMLElement
- Dom\Implementation — Класс Dom\Implementation
- Dom\NamedNodeMap — Класс Dom\NamedNodeMap
- Dom\NamespaceInfo — Класс Dom\NamespaceInfo
- Dom\Node — Класс Dom\Node
- Dom\NodeList — Класс Dom\NodeList
- Dom\Notation — Класс Dom\Notation
- Dom\ParentNode — Интерфейс Dom\ParentNode
  - Dom\ParentNode::append — Добавляет узлы после последнего дочернего узла
  - Dom\ParentNode::prepend — Добавляет узлы перед первым дочерним узлом
  - Dom\ParentNode::querySelector — Возвращает первый элемент, соответствующий селекторам CSS
  - Dom\ParentNode::querySelectorAll — Возвращает коллекцию элементов, соответствующих селекторам CSS
  - Dom\ParentNode::replaceChildren — Заменяет потомков в узле
- Dom\ProcessingInstruction — Класс Dom\ProcessingInstruction
- Dom\Text — Класс Dom\Text
  - Dom\Text::splitText — Разделяет узел на два, начиная с заданной позиции
- Dom\TokenList — Класс Dom\TokenList
  - Dom\TokenList::add — Добавляет заданные лексемы в список
  - Dom\TokenList::contains — Возвращает, содержит ли список заданную лексему
  - Dom\TokenList::count — Возвращает количество лексем в списке
  - Dom\TokenList::getIterator — Возвращает итератор списка лексем
  - Dom\TokenList::item — Возвращает лексему из списка
  - Dom\TokenList::remove — Удаляет заданные лексемы из списка
  - Dom\TokenList::replace — Заменяет одну лексему в списке на другую
  - Dom\TokenList::supports — Возвращает, поддерживается ли заданная лексема
  - Dom\TokenList::toggle — Переключает присутствие лексемы в списке
- Dom\XMLDocument — Класс Dom\XMLDocument
- Dom\XPath — Класс Dom\XPath
- Функции DOM
  - dom_import_simplexml — Получает объект класса DOMAttr или DOMElement из объекта класса SimpleXMLElement
  - Dom\import_simplexml — Получает объект класса Dom\Attr или Dom\Element из объекта SimpleXMLElement

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open