Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/08/2009, 09:45
doylelives
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 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