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 — Crea un nuevo nodo de texto
Descripción
Esta función crea una nueva instancia de la clase DOMText. Este nodo no se mostrará en el documento a no ser que sea insertado con (p.e.j.) DOMNode::appendChild().
Parámetros
-
content -
El contenido del texto.
Valores devueltos
El nuevo DOMText o FALSE si ha ocurrido un error.
Ver también
- DOMNode::appendChild() - Añade un nuevo hijo al final de los hijos
- DOMDocument::createAttribute() - Crear nuevo attribute
- DOMDocument::createAttributeNS() - Crea un nuevo nodo atributo con un namespace asociado.
- DOMDocument::createCDATASection() - Crea un nuevo nodo cdata
- DOMDocument::createComment() - Crea un nuevo nodo de comentario
- DOMDocument::createDocumentFragment() - Crea un nuevo fragmento de documento
- DOMDocument::createElement() - Crea un nuevo nodo elemento
- DOMDocument::createElementNS() - Crea un nuevo nodo elemento con el nombre de espacio asociado
- DOMDocument::createEntityReference() - Create new entity reference node
- DOMDocument::createProcessingInstruction() - Crea un nuevo nodo PI
Alex Kaye ¶
3 years ago
anton dot vakulchik at gmail dot com ¶
5 years ago
//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 ¶
7 years ago
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.
