The docs don't mention it but this method performs escaping on the value. If you don't want that use createElement() instead.PHP - Manual: DOMDocument::createTextNode
2025-10-24
(PHP 5, PHP 7, PHP 8)
DOMDocument::createTextNode — Create new text node
This function creates a new instance of class DOMText. 此节点出现在文档中,除非是用诸如 DOMNode->appendChild() 等函数来将其插入。
dataThe content of the text.
The new DOMText.
| 版本 | 说明 |
|---|---|
| 8.1.0 |
In case of an error, a DomException is thrown now.
Previously, false was returned.
|
The docs don't mention it but this method performs escaping on the value. If you don't want that use createElement() instead.A quick note to anyone who is using character entities (e.g. ©) in this, and finding them automatically escaped. The correct thing to do here is to use the createEntityReference method (e.g. createEntityReference("copy");), and then appendChild this entity between text nodes.
Example:
<?php
$copyright_text_1 = $this->document->createTextNode("Copyright ");
$copyright_text_2 = $this->document->createTextNode(" Alex Kaye 2009");
$copyright_symbol = $this->document->createEntityReference("copy");
$copyright->appendChild($copyright_text_1);
$copyright->appendChild($copyright_symbol);
$copyright->appendChild($copyright_text_2);
?>官方地址:https://www.php.net/manual/en/domdocument.createtextnode.php