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);
?>