Foros del Web » Programando para Internet » PHP »

crear cdata section

Estas en el tema de crear cdata section en el foro de PHP en Foros del Web. Hola a todos! En una funcion php estoy creando nodos html utilizando DOM. Pero tambien debe crear una codigo javascript el cual debe estar encerrado ...
  #1 (permalink)  
Antiguo 31/08/2009, 09:45
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 16 años, 4 meses
Puntos: 35
Hola a todos!
En una funcion php estoy creando nodos html utilizando DOM.
Pero tambien debe crear una codigo javascript el cual debe estar encerrado en CDATA.
La siguiente función agrega la sección cdata a un nodo.
Código PHP:
function appendCdata($appendToNode$text) {
        if (
strtolower($appendToNode->nodeName) == 'script') {
            
$cm $appendToNode->ownerDocument->createTextNode("\n//");
            
$ct $appendToNode->ownerDocument->createCDATASection("\n"$text ."\n//");
            
$appendToNode->appendChild($cm);
            
$appendToNode->appendChild($ct);
        } else {
            
$ct $appendToNode->ownerDocument->createCDATASection($text);
            
$appendToNode->appendChild($ct);
        }
    } 
Desde mi función la llamo de esta manera:
Código PHP:
$script $doc->createElement('script');
$this->appendCdata($script'algo');
$root->appendChild($script); 
Pero el resultado final es:
Código PHP:
<script>
//
algo
//</script> 
Porque no me agregó la entrada <![CDATA[
?¿?¿?¿?¿?¿?

Porfa donde esta el error???
o acaso el tag:
<![CDATA
debo crear manualemente????
__________________
I am Doyle please insert code.

Última edición por GatorV; 31/08/2009 a las 12:43
  #2 (permalink)  
Antiguo 31/08/2009, 13:00
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: crear cdata section

Si, debes agregar el CDATA manualmente, y tambien el atributo type="text/javascript" en la etiqueta <script>
__________________
- León, Guanajuato
- GV-Foto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:37.