php8.5
Home/ Manual/ dom / domdocument/ DOMDocument::createElement

DOMDocument::createElement

PHP function Edit on GitHub ✎

(PHP 5, PHP 7, PHP 8)

Create new element node

Description

DOMDocument::createElement(string $localName, string $value = ""): DOMElement|false

This function creates a new instance of class DOMElement. Inserted

Parameters

localName

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.

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_ERR

Raised if localName contains an invalid character.

Examples

Creating a new element and inserting it as root

php
<?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:

output
<?xml version="1.0" encoding="utf-8"?>
<test>This is the root element!</test>

Passing text containing an unescaped & as value

php
<?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:

output
Warning: DOMDocument::createElement(): unterminated entity reference             you in /in/BjTCg on line 4
<?xml version="1.0" encoding="utf-8"?>
<foo/>

Notes

Note

The value will not be escaped. Use DOMDocument::createTextNode to create a text node with escaping support.

See Also

  • DOMNode::appendChild
  • DOMDocument::createAttribute
  • DOMDocument::createAttributeNS
  • DOMDocument::createCDATASection
  • DOMDocument::createComment
  • DOMDocument::createDocumentFragment
  • DOMDocument::createElementNS
  • DOMDocument::createEntityReference
  • DOMDocument::createProcessingInstruction
  • DOMDocument::createTextNode

Source: reference/dom/domdocument/createelement.xml · from the official PHP manual (php/doc-en)