Foros del Web » Programando para Internet » PHP »

utilizacion de nl2br()

Estas en el tema de utilizacion de nl2br() en el foro de PHP en Foros del Web. Hola , tengo un sistema de noticias , guardo el contenido de la noticia en la base d datos pero al mostrarme , la noticia ...
  #1 (permalink)  
Antiguo 14/11/2002, 17:24
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 22 años, 2 meses
Puntos: 2
utilizacion de nl2br()

Hola , tengo un sistema de noticias , guardo el contenido de la noticia en la base d datos pero al mostrarme , la noticia me la muestra sin formato.

he preguntado en el foro de bases d datos me dicen q no es problema d la db sino q deberia insertarlo con <br> etc..

y tmb me han hablado d la funcion nl2br() , lo he mirado en el manual d php y no he conseguido averiguar su uso.


Alguien sabe como se utiliza o un link dond lo expliquen bien?


thanks
  #2 (permalink)  
Antiguo 14/11/2002, 17:32
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Aquí tienes la explicación de php.net:

http://www.php.net/manual/es/function.nl2br.php
  #3 (permalink)  
Antiguo 14/11/2002, 17:35
Avatar de chubu  
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 133
Antigüedad: 22 años, 2 meses
Puntos: 0
supongamos que tienes este texto en una bd:

Código:
Titulo

Aqui iria el copete

Aqui iria el cuerpo
(muy original, no? :))

pues bien, una vez que lo has sacado de la bd, al imprimirlo directamente con print o echo, tu navegador lo mostraria algo asi:

TituloAqui iria el copeteAqui iria el cuerpo

esto es porque los saltos de linea normales (los enters, o como le quieras llamar) en html no representan nada, el salto de linea de html, como bien te dijeron, es el tag <br> o <br /> (xhtml).

Lo que hace nl2br es reemplazar los saltos de linea normales por el tag br. De modo que lo que debes hacer, suponiendo que tu texto esta en la variable $texto, es lo siguiente:

Código PHP:
$texto nl2br($texto); 
nada más que eso, espero que te haya servido,

saludos,

chubu
__________________
:pensando:hay algo mal que no anda bien
  #4 (permalink)  
Antiguo 14/11/2002, 17:35
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 22 años, 2 meses
Puntos: 2
Ya , eso ya lo he visto peor no lo entiendo , ya lo digo en mi post.


el nl2br se utiliza en la recojida d datos o en el echo?
  #5 (permalink)  
Antiguo 14/11/2002, 17:36
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 35
Antigüedad: 21 años, 5 meses
Puntos: 0
esta funcion te sirve para poner la etiqueta <br> delante de todos los saltos de linea (\n).
se ocupa asi:

$cadena=nl2br($cadena);

$cadena la pudiste haber recogido del form, luego le aplicas nl2br y luego la guardas

Última edición por raoII; 14/11/2002 a las 17:38
  #6 (permalink)  
Antiguo 14/11/2002, 17:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
RaoII .. difero en el tema de aplicar nl2br() y guardar en la BD el campo con <BR> (salto de lineas HTML)...

Si luego quieres mandar esa variable del campo X de la base de datos a un value= de un formulario para editarlo .. le has de cambiar los <br> por los \n .. (si te das cuenta PHP solo tiene funcion nl2br() y no tiene la inversa .. no es q no se pueda hacer por otros medios ... )

Ademas .. un \n en la base de datos es un Byte .. (si no me equivoco) .. mientras q un <br> son 4 Bytes .. Así q estas recargando la base de datos con datos superflos ...

Aplica la funcion nl2br() al presentar tu $row['campo_BD'] en tu echo ...

ejemplo:

echo nl2br($row['campo_BD']);

Un saludo,
  #7 (permalink)  
Antiguo 14/11/2002, 17:55
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 22 años, 2 meses
Puntos: 2
Thanks cluster eso es lo que queria , saber si se puede poner nl2br despues d haber ingreaado en la db o x el contrario habia q hacerlo antes d ingresarlo. Ahorqa mismo no puedo probarlo per mañana os dire si em ha funcionado

Thanks
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 05:36.