Foros del Web » Programando para Internet » PHP »

\n para salto de línea no funcionan cuando lo pongo en variables

Estas en el tema de \n para salto de línea no funcionan cuando lo pongo en variables en el foro de PHP en Foros del Web. Estoy enviando un correo de texto plano (tiene que ser texto plano, NO me sirve html) y lleno el cuerpo de la siguiente manera: Código ...
  #1 (permalink)  
Antiguo 18/03/2008, 18:07
Avatar de pabo_  
Fecha de Ingreso: febrero-2008
Mensajes: 8
Antigüedad: 16 años, 2 meses
Puntos: 0
\n para salto de línea no funcionan cuando lo pongo en variables

Estoy enviando un correo de texto plano (tiene que ser texto plano, NO me sirve html) y lleno el cuerpo de la siguiente manera:
Código PHP:
...
$cuerpo .="\nTambien podemos atender telefonicamente a sus inquietudes. Preferiblemente haga sus solicitudes de soporte a traves de nuestro buzon [email protected]. Por favor no dude en contactarnos.\n";
    
$cuerpo .="\nNota: este correo no tiene tildes por razones de compatibilidades en la lectura.\n";
    
$cuerpo .= mysql_result($registro_par,0,"piecorreo_admon");
    
$cuerpo .="\n\n";
    
$cuerpo .="Este mensaje fue enviado automáticamente por nuestro sistema, por lo tanto no es necesario responderlo.";
... 
Donde mysql_result($registro_par,0,"piecorreo_admon") contiene la siguiente información:

Código:
\n Atentamente,\n ________________________\n Cuentas Caminoweb\n [email protected]\n Tel: Bogota (1)3782251, Bucaramanga(7)6434487\n Celulares: 3002071314 , 3106187026\n
Pero al enviar el correo lo que obtengo es lo siguiente:

Código:
Tambien podemos atender telefonicamente a sus inquietudes. Preferiblemente haga sus solicitudes de soporte a traves de nuestro buzon [email protected]. Por favor no dude en contactarnos.

Nota: este correo no tiene tildes por razones de compatibilidades en la lectura.
\n Atentamente,\n________________________\n Soporte Caminoweb\n [email protected]\n Tel: Bogota (1)3782251, Bucaramanga(7)6434487\n Celulares: 3002071314 , 3106187026\n

Este mensaje fue enviado automáticamente por nuestro sistema, por lo tanto no es necesario responderlo.

Es decir, los \n me funcionan correctamente cuando lo escribo entre comillas, pero no funcionan si los paso por la variable mysql_result($registro_par,0,"piecorreo_admon") que obtengo de la base de datos.

Los headers de texto plano estan correctos, ese no es el problema ($headers = "Content-Type: text/plain\r\n";)

que puedo hacer?
  #2 (permalink)  
Antiguo 18/03/2008, 22:03
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Re: \n para salto de línea no funcionan cuando lo pongo en variables

debes de cambiar los \n por \\n
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 19/03/2008, 08:00
Avatar de pabo_  
Fecha de Ingreso: febrero-2008
Mensajes: 8
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: \n para salto de línea no funcionan cuando lo pongo en variables

Gracias emiliodeg, pero no me funciona,

lo probé con //n y nada, además lo probé con /\n y tampoco.

Agradecería si alguien me puede brindar alguna otra solución, o al menos una explicación de porque cuando lleno la variable $cuerpo a partir de una variable almacenada en bd, los \n no hacen el salto de línea, pero si se imprimen.
  #4 (permalink)  
Antiguo 19/03/2008, 18:24
Avatar de pabo_  
Fecha de Ingreso: febrero-2008
Mensajes: 8
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: \n para salto de línea no funcionan cuando lo pongo en variables

Listo ya lo solucioné, lo que pasa es que al guardar la variable en MySQL sucede algo que no me permite utilizar el backslash (\), por lo que tuve que guardar lo siguiente en la variable mysql_result($registro_par,0,"piecorreo_admon"))

Código:
[salto] Atentamente,[salto]________________________[salto] Soporte Caminoweb[salto] [email protected][salto] Tel: Bogota (1)3782251, Bucaramanga(7)6434487[salto] Celulares: 3002071314 , 3106187026[salto]
Y luego llenar el cuerpo del mensaje de la siguiente manera:

Código PHP:
...
$cuerpo .="\nTambien podemos atender telefonicamente a sus inquietudes. Preferiblemente haga sus solicitudes de soporte a traves de nuestro buzon [email protected]. Por favor no dude en contactarnos.\n";
    
$cuerpo .="\nNota: este correo no tiene tildes por razones de compatibilidades en la lectura.\n";
    
$addcuerpo str_replace("[salto]""\n"mysql_result($registro_par,0,"piecorreo_admon"));
    
$cuerpo .= $addcuerpo;
    
$cuerpo .="\n\n";
    
$cuerpo .="Este mensaje fue enviado automáticamente por nuestro sistema, por lo tanto no es necesario responderlo.";
... 
Y listo de esta forma me funcionó correctamente.
  #5 (permalink)  
Antiguo 19/03/2008, 18:55
 
Fecha de Ingreso: enero-2008
Mensajes: 13
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: \n para salto de línea no funcionan cuando lo pongo en variables

Facil utiliza comillas simples!!! Escribelo asi:

Código HTML:
$cuerpo .='texto \n \n ....';
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 21:49.