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);
?>
DOMDocument::createTextNode
(PHP 5)
DOMDocument::createTextNode — 新しいテキストノードを作成する
説明
この関数は、DOMText クラスの新しいインスタンスを作成します。このノードは、(たとえば) DOMNode->appendChild() などで 挿入されない限り、ドキュメント内に現われません。
パラメータ
- content
-
テキストの内容。
返り値
新しい DOMText、 あるいがエラーが発生した場合には FALSE を返します。
参考
- DOMNode::appendChild - 子要素群の最後に新しい子要素を追加する
- DOMDocument::createAttribute - 新しい属性を作成する
- DOMDocument::createAttributeNS - 関連付けられた名前空間に新しい属性を作成する
- DOMDocument::createCDATASection - 新しい cdata ノードを作成する
- DOMDocument::createComment - 新しい comment ノードを作成する
- DOMDocument::createDocumentFragment - 新しい文書片を作成する
- DOMDocument::createElement - 新しい要素ノードを作成する
- DOMDocument::createElementNS - 関連付けられた名前空間に新しい要素を作成する
- DOMDocument::createEntityReference - 新しいエンティティ参照ノードを作成する
- DOMDocument::createProcessingInstruction - 新しい PI ノードを作成する
DOMDocument::createTextNode
Alex Kaye
25-Jul-2009 11:04
25-Jul-2009 11:04
anton dot vakulchik at gmail dot com
13-Mar-2008 01:23
13-Mar-2008 01:23
//For PHP5
$Doc = new DOMDocument('1.0');
$Dom = $Doc->appendChild(new domelement('log'));
$Dom->setAttribute('class','something');
$Dom->appendChild($Doc->createTextNode('something'));
jon at websandbox dot net
04-Aug-2005 08:01
04-Aug-2005 08:01
About escaping characters:
This is standard behavior. brackets, ampersans, and maybe even quoted will be "escaped" if you output your XML as a string.
This should not, however, happen if you append your text node to a CDATA section.
