Foros del Web » Programando para Internet » PHP »

No reconoce \n

Estas en el tema de No reconoce \n en el foro de PHP en Foros del Web. Buenas tardes a todos, estoy llevando a cabo mis primeras incursiones en php y tengo un problema. Quiero un salto de linea en el código ...
  #1 (permalink)  
Antiguo 13/03/2012, 09:17
 
Fecha de Ingreso: octubre-2009
Mensajes: 29
Antigüedad: 14 años, 6 meses
Puntos: 4
No reconoce \n

Buenas tardes a todos, estoy llevando a cabo mis primeras incursiones en php y tengo un problema. Quiero un salto de linea en el código (para que quede bien formateado) y al poner \n no me lo coge.

Aquí os pongo la linea conflictiva:

Código PHP:
echo'    <li'.$opcionActiva.'><a href="#">'.$menu[$i].'</a></li>\n'
esta linea está dentro de un for, y el resultado es que los <li> me los pone seguidos (en el código), y al final me añade i veces el '\n' (en el renderizado de la página).

He probado con \\n, con //n,... y nada

La versión de php es la 5.38 y está en xampp de serie, sin tocar anda.

Muchas gracias por adelantado y un saludo
  #2 (permalink)  
Antiguo 13/03/2012, 09:40
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: No reconoce \n

A mi en ocasiones tambien me pasa lo mismo, cuando genero xml quiero añadirles salto de linea y tabulados.

Una forma para definirlos seria usando por ejemplo

Código PHP:
define("salto""\n");
define("salto""\n<br>");
define("salto""<br />"); 
Creo que cualquiera sirve pero has tu mismo la prueba a ver cual funciona proque ahora no tengo a la mano códigos viejos.

Con eso ya solamente lo anexas en tu código y listo

Código PHP:
echo '<li'.$opcionActiva.'><a href="#">'.$menu[$i].'</a></li>'.salto.';' 
__________________
Blog de humor http://elcuasatar.net63.net/
  #3 (permalink)  
Antiguo 13/03/2012, 09:43
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: No reconoce \n

Creo q el fallo está en las comillas....

Si lo pones con comillas dobles, no debería pasarte :)
__________________
>> Eleazan's Source
>> @Eleazan
  #4 (permalink)  
Antiguo 13/03/2012, 09:58
 
Fecha de Ingreso: octubre-2009
Mensajes: 29
Antigüedad: 14 años, 6 meses
Puntos: 4
Respuesta: No reconoce \n

Muchísimas gracias, las dos soluciones funcionan. Al final he puesto:

Código PHP:
echo'    <li'.$opcionActiva.'><a href="#">'.$menu[$i].'</a></li>'."\n"
y va bien.

Un saludo
  #5 (permalink)  
Antiguo 13/03/2012, 10:35
 
Fecha de Ingreso: septiembre-2003
Mensajes: 337
Antigüedad: 20 años, 7 meses
Puntos: 4
Respuesta: No reconoce \n

¿Y poniendo el salto de línea en HTML no te lo pone bien? Es decir, así:

Código PHP:
echo '<li'.$opcionActiva.'><a href="#">'.$menu[$i].'</a></li><br>'
  #6 (permalink)  
Antiguo 13/03/2012, 10:38
 
Fecha de Ingreso: octubre-2009
Mensajes: 29
Antigüedad: 14 años, 6 meses
Puntos: 4
Respuesta: No reconoce \n

El problema de eso es que no quiero un salto de linea en html.

Me imagino que si pusiese <br>, en el código me lo pondría todo en la misma linea, pero al renderizar la web el navegador, me metería los saltos de linea.
  #7 (permalink)  
Antiguo 13/03/2012, 10:48
 
Fecha de Ingreso: septiembre-2003
Mensajes: 337
Antigüedad: 20 años, 7 meses
Puntos: 4
Respuesta: No reconoce \n

Ahhh ok ahora te he entendido al 100%, así que lo que te dijeron esa era la solución, la cual ya has probado. ¡Un saludo!
  #8 (permalink)  
Antiguo 13/03/2012, 10:57
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: No reconoce \n

para hacer saltos de línea en el código fuente yo uso la constante PHP_EOL en vez de colocar \n\r o \n solo, los caracteres escapados no se interpretan en comillas sencillas.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #9 (permalink)  
Antiguo 13/03/2012, 11:02
 
Fecha de Ingreso: octubre-2009
Mensajes: 29
Antigüedad: 14 años, 6 meses
Puntos: 4
Respuesta: No reconoce \n

Me gusta eso de PHP_EOL, obviamente lo he probado y también funciona. Muchas gracias

Etiquetas: php+base, salto_de_linea
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 19:09.