(PHP 5, PHP 7)
DOMDocument::createElement — Create new element node
public DOMDocument::createElement ( string $name [, string $value ] ) : DOMElement
This function creates a new instance of class DOMElement. This node will not show up in the document unless it is inserted with (e.g.) DOMNode::appendChild().
name
The tag name of the element.
value
The 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.
Returns a new instance of class DOMElement or false
if an error occurred.
DOM_INVALID_CHARACTER_ERR
Raised if name
contains an invalid character.
Example #1 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>
Example #2 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/>
Note:
The
value
will not be escaped. Use DOMDocument::createTextNode() to create a text node with escaping support.
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/domdocument.createelement.php