PDA

View Full Version : Firefox cambia contenido de variable mostrada en <textarea>


Lord-Metal
25-11-2010, 10:04 PM
Buenos.

Ando con un problema, el cual paso a explicaR:

Desde la página opciones.php armo un <textarea> con un determinado contenido HTML (un <div> con un <table>):


<textarea class="ckeditor" name="cuerpo_text" style="width:<?php echo $anchura_ca; ?>px;height:500px;">



<div>
<table border="0" align="center" style="background-color:#FFF; border-collapse:collapse; margin-bottom:20px;">
<tr>
<td valign="top" width="<?php echo $anchura_ca; ?>" height="<?php echo $altura_ca; ?>" style="background-image:url('<?php echo $vinculo_server_ca; ?>'); background-repeat: no-repeat;"></td>
</tr>
<tr>
<td valign="top" width="<?php echo $anchura_cu; ?>" height="<?php echo $altura_cu; ?>" style="background-image:url('<?php echo $vinculo_server_cu; ?>'); background-repeat: no-repeat;">ESCRIBA SU CUERPO</td>
</tr>
<tr>
<td valign="top" width="<?php echo $anchura_pi; ?>" height="<?php echo $altura_pi; ?>" style="background-image:url('<?php echo $vinculo_server_pi; ?>'); background-repeat: no-repeat;"></td>
</tr>
</table>
</div>




</textarea>


Despues, a través de un formulario, envío ese </textarea> a otra página llamada llamada mail_o_html.php, en donde guardo su contenido en una variable y después en un <textarea> , en esta última página, imprimo las etiquetas básicas de cualquier página HTML (<html>, <head>, <title>, <body>) y dentro de <body> hago un echo de la variable:


$cuerpo = $_POST['cuerpo_text'];//guardo el contenido el <textarea> que me viene de la otra página.


echo "<div align=\"center\">
<textarea name=\"muestra_html\" style=\"width:95%; height:450px;\">

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
</head>

<body>


".stripslashes($cuerpo)."


</body>
</html>

</textarea></div>";


}



El problema que estoy teniendo es que cuando el proceso anterior lo hago desde Chrome u Opera, la impresión del código en el <textarea> es correcta, pero cuando lo hago desde el Firefox las URL de los background-image aparecen entre comillas dobles, en vez de simples y, por tanto, el código no funciona.

Así me muestra Firefox el código resultante, a diferencia de los otros navegadores:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>


<div>

<table align="center" border="0" style="background-color: rgb(255, 255, 255); border-collapse: collapse; margin-bottom: 20px;">

<tbody>

<tr>
<td height="170" style="background-image: url("http://www..xxx.org/imagen.jpg"); background-repeat: no-repeat;" valign="top" width="901"></td>
</tr>
<tr>
<td height="986" style="background-image: url("http://www..xxx.org/imagen.jpg"); background-repeat: no-repeat;" valign="top" width="901">
REDACTAR DESDE AQUI</td>
</tr>
<tr>
<td height="113" style="background-image: url("http://www..xxx.org/imagen.jpg"); background-repeat: no-repeat;" valign="top" width="901"></td>

</tr>

</tbody>

</table>

</div>

</body>

</html>


Como verán las URL de los background-image aparecen con comillas dobles, a diferencia de Opera y Chrome en donde los background-image aparecen con comillas simples como yo había definido.

PD: Aclaro, por las dudas, que el contenido de la variable necesito mostrarlo en un <textarea> para que el usuario pueda copiarlo y usarlo con cualquier otra aplicación, ya que dicho código pertenece a un sistema de gestión de plantillas que estoy haciendo.


Gracias.

jarivia
03-12-2010, 11:15 PM
problemas del utf8? declaralo y forzalo, o pasalo todo a ansi, algo del BOM es..