The docs don't mention it but this method performs escaping on the value. If you don't want that use createElement() instead.
(PHP 5, PHP 7, PHP 8)
DOMDocument::createTextNode — Создать новый текстовый узел
Эта функция создаёт экземпляр класса DOMText. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, например, функцией DOMNode::appendChild().
data
Содержимое узла.
Возвращает новый объект класса DOMText.
Версия | Описание |
---|---|
8.1.0 |
В случае возникновения ошибки теперь выбрасывает исключение DomException.
Ранее вместо этого возвращалось значение false .
|
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);
?>