Foros del Web » Programando para Internet » PHP »

Problema con el codigo PhP

Estas en el tema de Problema con el codigo PhP en el foro de PHP en Foros del Web. Toy leyendo un libro de iniciacion al PhP y me dice que el codigo \n hace que salga en la siguiente linea, pero resulta que ...
  #1 (permalink)  
Antiguo 10/03/2004, 00:46
 
Fecha de Ingreso: marzo-2004
Mensajes: 6
Antigüedad: 20 años, 1 mes
Puntos: 0
Problema con el codigo PhP

Toy leyendo un libro de iniciacion al PhP y me dice que el codigo \n hace que salga en la siguiente linea, pero resulta que a mi no me sale asi en el browser.

Intento el siguiente codigo:

Código:
<?
$arr_name[0] = "An";
$arr_name[1] = "array";
$arr_name[2] = "Is in";
$arr_name[3] = "the";
$arr_name[4] = "making";
echo "$arr_name[0] $arr_name[1] $arr_name[2] $arr_name[3] $arr_name[4] ","\n";
?>
Utilizo un servidor de hosting gratuito host.sk. Ellos soportan PhP. He intentado en otro servidor de hosting gratuito como wanadoo. He intentado el \n en otras cosas y no sale en la otra linea del browser. Me imagino que ese codigo se comporta como el <br />. Ese si me sirve.

Lo que sale en el browser es lo siguiente:
An array Is in the making.

¿Sugerencias?
  #2 (permalink)  
Antiguo 10/03/2004, 01:59
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

El libro como mucho dira que \n es el caracter de salto de linea. Pero ese caracter es interpretado de distinta forma por los distintos programas. Ademas, si te esta haciendo el salto de linea. Mira el codigo HTML, y veras como el codigo si tiene los saltos de linea.

Si miras cualquier manual de HTML, te dira que (excepto en algunos tags) los saltos de linea que pongas en el codigo HTML son ignorados. Y que para crear un salto de linea en HTML debes usar el tag <br> (<br /> en XHTML).

Asi que si quieres crear un salto de linea que se vea en HTML, debes usar <br>.

Y con la funcion nl2br() (www.php.net/nl2br) puedes añadir <br> donde aparezca un \n en una cadena.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 10/03/2004, 10:14
 
Fecha de Ingreso: marzo-2004
Mensajes: 6
Antigüedad: 20 años, 1 mes
Puntos: 0
Yo no quiero hacerlo en html, quiero hacerlo en php.

El archivo se llama hello.php.

Hablame en español.
  #4 (permalink)  
Antiguo 10/03/2004, 21:26
 
Fecha de Ingreso: marzo-2004
Mensajes: 6
Antigüedad: 20 años, 1 mes
Puntos: 0
subo el post pa que lo vean...
  #5 (permalink)  
Antiguo 10/03/2004, 21:33
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
si lees bien lo que te dice josemi, es que el salto de linea el navegador no interpreta el \n, (si abres el codigo fuente veras que si que esta el salto de linea, no ve el \n pero el codigo esta en otra linea)

Tienes de pensar que el codigo php no hace mas que generar una salida html, para que el navegador lo interprete,

Asi pues debes poner en tu salida

echo "$arr_name[0] $arr_name[1] $arr_name[2] $arr_name[3] $arr_name[4] ","<br>";

o bien

$salida = "$arr_name[0] $arr_name[1] $arr_name[2] $arr_name[3] $arr_name[4] ","\n";


echo nl2br($salida);

espero que te sirva

Un saludo
  #6 (permalink)  
Antiguo 12/03/2004, 12:30
 
Fecha de Ingreso: julio-2003
Ubicación: Tlaxcala
Mensajes: 26
Antigüedad: 20 años, 9 meses
Puntos: 0
Lo que te comenta arriba es cierto

" \n" es el caracter de salto de linea. Pero ese caracter es interpretado

y como tu lo que quieres es que se visualize en tu navegador, la salida siempre es html, por tanto debes emplear junto con este caracter el tag <br>

te pongo tu mismo ejemplo con salida en saltos de pagina

$arr_name[0] = "An";
$arr_name[1] = "array";
$arr_name[2] = "Is in";
$arr_name[3] = "the";
$arr_name[4] = "making";

for($i=0;$i<=4;$i++)
{
echo "$arr_name[$i] <br>\n";
}


Saludos.
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 17:28.