Foros del Web » Programando para Internet » PHP »

Variable javascript de varias lineas creada desde php

Estas en el tema de Variable javascript de varias lineas creada desde php en el foro de PHP en Foros del Web. Buenas a todos. He buscado por el foro pero no he encontrado solucion a lo que busco. Os comento: Tengo una variable php ($anuncio) sacada ...
  #1 (permalink)  
Antiguo 03/05/2006, 09:51
Avatar de sedinho  
Fecha de Ingreso: marzo-2003
Mensajes: 91
Antigüedad: 21 años
Puntos: 0
Variable javascript de varias lineas creada desde php

Buenas a todos.
He buscado por el foro pero no he encontrado solucion a lo que busco. Os comento:

Tengo una variable php ($anuncio) sacada de una consulta a una base de datos. Esta variable tiene varias lineas:

$anuncio="Esto es
un anuncio
de prueba";

Lo que necesito es que esta variable se convierta en una variable JavaScript. Lo hago de esta forma:

echo "var anuncio='$anuncio'"

El problema es que cuando se interpreta esta linea queda así:

var anuncio='Esto es
un anuncio
de prueba'

y Javascript casca dandome el siguiente error: "Constante de cadena sin terminar" debido a que hay saltos de linea.
He probado con nl2br($anuncio) y str_replace("\n","<br>",$anuncio), pero no consigo nada, ya que el texto sigue apareciendo en distintas lineas.

¿Alquien sabe que puedo hacer para solucionar esto?

Un saludo y muchas gracias de antemano.
  #2 (permalink)  
Antiguo 03/05/2006, 11:10
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 18 años
Puntos: 2
Cuando haces str_replace("\n","<br>",$anuncio) estas reemplazando el caracter de nueva línea, pero creo que el error esta en que el salto de línea se construye con un caracter de retorno de carro (\r) y luego si el del salto de linea (\n). Probá de esta manera:

Código PHP:
<?
$anuncio
="Esto es
un anuncio
de prueba"
;
$nuevo_anuncio str_replace("\r\n","<br />",$anuncio); 
echo 
"var anuncio='$nuevo_anuncio'";
?>
Saludos.
  #3 (permalink)  
Antiguo 03/05/2006, 11:16
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Pues yo he resuelto ese problema en alguna ocasión metiendo la variable en un textarea y luego consultando su value...

<textarea name="varPHP" style="display:none"><?php echo $anuncio; ?></textarea>

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 04/05/2006, 01:31
Avatar de sedinho  
Fecha de Ingreso: marzo-2003
Mensajes: 91
Antigüedad: 21 años
Puntos: 0
Muchas gracias a los dos.

He utilizado la solucion de Notwen ya que era la que mas se parecia a lo que buscaba y todo funciona correctamente.

Un saludo a los dos y muchas gracias de nuevo.
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 23:54.