DOMDocument::createElement
(PHP 5, PHP 7, PHP 8)
Create new element node
Description
This function creates a new instance of class DOMElement. Inserted
Parameters
localNameThe tag name of the element.
valueThe value of the element. By default, an empty element will be created. The value can also be set later with DOMElement::$nodeValue.
The value is used verbatim except that the < and > entity references will escaped. Note that & has to be manually escaped; otherwise it is regarded as starting an entity reference. Also " won't be escaped.
Return Values
Returns a new instance of class DOMElement or false if an error occurred.
Errors/Exceptions
May throw a DOMException with the following error codes:
DOM_INVALID_CHARACTER_ERRRaised if
localNamecontains an invalid character.
Examples
Creating a new element and inserting it as root
<?php
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElement('test', 'This is the root element!');
// We insert the new element as root (child of the document)
$dom->appendChild($element);
echo $dom->saveXML();
?>The above example will output:
<?xml version="1.0" encoding="utf-8"?>
<test>This is the root element!</test>Passing text containing an unescaped & as value
<?php
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElement('foo', 'me & you');
$dom->appendChild($element);
echo $dom->saveXML();
?>The above example will output something similar to:
Warning: DOMDocument::createElement(): unterminated entity reference you in /in/BjTCg on line 4
<?xml version="1.0" encoding="utf-8"?>
<foo/>Notes
The value will not be escaped. Use DOMDocument::createTextNode to create a text node with escaping support.
See Also
DOMNode::appendChildDOMDocument::createAttributeDOMDocument::createAttributeNSDOMDocument::createCDATASectionDOMDocument::createCommentDOMDocument::createDocumentFragmentDOMDocument::createElementNSDOMDocument::createEntityReferenceDOMDocument::createProcessingInstructionDOMDocument::createTextNode