Ver Mensaje Individual
  #11 (permalink)  
Antiguo 28/04/2009, 06:00
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 7 meses
Puntos: 834
Respuesta: espacios en blanco, saltos de linea

Exacto. Escapamos los caracteres para que, entre otra cosas, javascript no encuentre saltos de línea. Hay que evitar los saltos de línea porque, cuando javascript encuentra uno, lo interpreta como final de instrucción y, si estamos trabajando con cadenas, aparece el famoso error de string mal determinado, ya que quedan comillas sin cerrar (según el intérprete) debido al salto de línea.
Esa cadena escapada, si se vuelca mediante un innerHTML, por ejemplo, se mostrará correctamente:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Documento sin t&iacute;tulo</title>
</
head>

<
body>
<
div id="salida"></div>
<
script>
var 
theTexts=[];
theTexts[1] ="\x31\x20\x49\x6e\x66\x6f\x72\x6d\x61\x63\x69\x6f\x6e\x20\x49\x6e\x66\x6f\x72\x6d\x61\x63\x69\x6f\x6e\x20\x49\x6e\x66\x6f\x72\x6d\x61\x63\x69\x6f\x6e\x20\x49\x6e\x66\x6f\x72\x6d\x61\x63\x69\x6f\x6e\x20\x49\x6e\x66\x6f\x72\x6d\x61\x63\x69\x6f\x6e\x20\x49\x6e\x66\x6f\x72\x6d\x61\x63\x69\x6f\x6e\x20\x49\x6e\x66\x6f\x72\x6d\x61\x63\x69\x6f\x6e\x20\x49\x6e\x66";
document.getElementById('salida').innerHTML=theTexts[1];
//muestra: 1 Informacion Informacion Informacion Informacion Informacion Informacion Informacion Inf
</script>
</body>
</html> 
Es cierto que no te está mostrando los saltos de línea en ese fragmento. Tendrás que ver si la salida php, antes de pasarla a la función, los contiene efectivamente, porque la función sí los muestra cuando existen.
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<div id="salida"></div>
<script>
<?php
function js_encode($s){
    
$texto='';
    
$lon=strlen($s);
    for(
$i=0;$i<$lon;++$i){
        
$num=ord($s[$i]);
        if(
$num<16$texto.='\x0'.dechex($num);
        else 
$texto.='\x'.dechex($num);
    }
    return 
$texto;

$t="

Informacion
Informacion
Informacion
Informacion
Informacion
"
;

?>
var theTexts=[];
theTexts[1] ="<?php echo js_encode($t?>";
document.getElementById('salida').innerHTML='<pre>'+theTexts[1]+'</pre>';
/*muestra:

Informacion
Informacion
Informacion
Informacion
Informacion

*/
</script>
</body>
</html>