Ver Mensaje Individual
  #5 (permalink)  
Antiguo 26/08/2009, 12:27
Avatar de mayid
mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 10 meses
Puntos: 101
Respuesta: Caracter < al imprimir CDATA con PHP

Lo estaba guardando con DOM, mediante una variable:

$descripcion = "<![CDATA[".$contenido."]]>";

$nuevo_tag_descripcion= $xml->createElement( "descripcion" );
$nuevo_tag_descripcion->appendChild($xml->createTextNode($descripcion));
$nuevo_item->appendChild( $nuevo_tag_descripcion );

Y me cambiaba el caracter < .

Pero ya encontre una funcion especifica de DOMxml:

$descripcion = $contenido;

$nuevo_tag_descripcion = $xml->createElement( "descripcion" );
$cdata = $xml->createCDATASection($descripcion);
$nuevo_tag_descripcion->appendChild($cdata);
$nuevo_item->appendChild( $nuevo_tag_descripcion );

Y consigo lo que queria:
<item>
<descripcion><!CDATA[[ ]]></descripcion>
</item>

Desde ya que te sorprendes porque si uno imprime directamente con 'echo' todo sale bien. Pero no era el caso, sino que habia DOM de por medio.