PHP Conference Nagoya 2025

DOMDocument::createTextNode

(PHP 5, PHP 7, PHP 8)

DOMDocument::createTextNode新しいテキストノードを作成する

説明

public DOMDocument::createTextNode(string $data): DOMText

この関数は、DOMText クラスの新しいインスタンスを作成します。このノードは、( DOMNode::appendChild() などで) 挿入されない限り、ドキュメント内にあらわれません。

パラメータ

data

テキストの内容。

戻り値

新しい DOMText を返します。

変更履歴

バージョン 説明
8.1.0 エラーが発生した場合に、 DomException をスローするようになりました。 これより前のバージョンでは、false を返していました。

参考

add a note

User Contributed Notes 2 notes

up
14
drewish at katherinehouse dot com
9 years ago
The docs don't mention it but this method performs escaping on the value. If you don't want that use createElement() instead.
up
0
Alex Kaye
15 years ago
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);
?>
To Top