array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'domdocument.createelement.php', 1 => 'DOMDocument::createElement', ), 'up' => array ( 0 => 'class.domdocument.php', 1 => 'DOMDocument', ), 'prev' => array ( 0 => 'domdocument.createdocumentfragment.php', 1 => 'DOMDocument::createDocumentFragment', ), 'next' => array ( 0 => 'domdocument.createelementns.php', 1 => 'DOMDocument::createElementNS', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/dom/domdocument/createelement.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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() для создания текстового узла с поддержкой экранирования.