(PHP 5, PHP 7, PHP 8)
DOMDocument::createElement — Создаёт новый узел элемента
Эта функция создаёт экземпляр класса DOMElement. Узел не будет отображаться в документе до тех пор, пока его не вставят функцией наподобие DOMNode::appendChild().
localName
Имя тега элемента.
value
Значение элемента. По умолчанию будет создан пустой элемент. Значение также может быть установлено позднее путём присваивания при прямом обращении к свойству DOMElement::$nodeValue.
Значение будет установлено дословно, за исключением символов < и >, которые будут экранированы. Обратите внимание, что символ & нужно экранировать самому, иначе он будет рассматриваться как начало ссылки на сущность. Символ кавчек " также не будет экранирован.
Возвращает новый объект класса DOMElement или
false
в случае возникновения ошибки.
Пример #1 Создание нового элемента и вставка его в качестве корневого
<?php
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElement('test', 'Это корневой элемент!');
// Вставляем новый элемент как корень (потомок документа)
$dom->appendChild($element);
echo $dom->saveXML();
?>
Результат выполнения приведённого примера:
<?xml version="1.0" encoding="utf-8"?> <test>Это корневой элемент!</test>
Пример #2 Передача текста, содержащего неэкранированный & в value
<?php
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElement('foo', 'я & ты');
$dom->appendChild($element);
echo $dom->saveXML();
?>
Вывод приведённого примера будет похож на:
Warning: DOMDocument::createElement(): unterminated entity reference you in /in/BjTCg on line 4 <?xml version="1.0" encoding="utf-8"?> <foo/>
Замечание:
Значение
value
не будет экранировано. Используйте функцию DOMDocument::createTextNode() для создания текстового узла с поддержкой экранирования.