Ver Mensaje Individual
  #12 (permalink)  
Antiguo 10/10/2011, 06:41
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, 5 meses
Puntos: 834
Respuesta: Salvar comillas con innerHTML

Si tu problema viene de php deberías ensayar una solución en ese lenguaje. Fijate si esto te da una idea:
Código PHP:
<?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;
}
$texto=utf8_decode('Este es un texto que tiene
saltos de línea y "comillas". Veremos cómo se ve en javascript.'
);
?>
<!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=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
<div id="ejemplo"></div>
<script type="text/javascript">
document.getElementById('ejemplo').innerHTML='<?php echo js_encode($texto?>';
</script>
</body>
</html>
Si mirás el código fuente resultante verás cómo realiza el escape la función php. (utf8_decode puede obviarse si tu servidor codifica adecuadamente -no es mi caso-).

Última edición por Panino5001; 10/10/2011 a las 06:47