Foros del Web » Programando para Internet » PHP »

Saltos de línea y viñetas???

Estas en el tema de Saltos de línea y viñetas??? en el foro de PHP en Foros del Web. Hola a todos: Ya andube buscando, y después de haber leído y aplicado muchos consejos excelentes que andan posteados por aquí, aun tengo las siguientes ...
  #1 (permalink)  
Antiguo 02/07/2003, 19:29
Avatar de Escoffie  
Fecha de Ingreso: abril-2003
Ubicación: Mérida, Yucatán
Mensajes: 242
Antigüedad: 21 años
Puntos: 9
Saltos de línea y viñetas???

Hola a todos:

Ya andube buscando, y después de haber leído y aplicado muchos consejos excelentes que andan posteados por aquí, aun tengo las siguientes dudas:

1.- ¿Hay algún modo de meter un string con saltos de línea a una tabla de mySQL sin poner \n al final de cada línea? Vaya... Que el usuario sólo escriba en el textarea dando "enter" cuando quiera que haya un salto, en vez de escribir a mano el \n

2. Ya usé el nl2br() y me funciona muy bien, pero ¿Es posible que cuando se muestre el texto en vez de sólo saltos de línea tenga viñetas, como con las <ul> y <li> de HTML?

Espero haberme explicado.

Saludos y muchas gracias.
  #2 (permalink)  
Antiguo 02/07/2003, 19:35
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
En este ejemplo hara un salto de linea <br> en html:

Código PHP:
$mensaje ereg_replace("\r\n","<br>"$mensaje); 
ahi puedes remplazarlo por tu eleccion..:
Código PHP:
$mensaje ereg_replace("\r\n","<ul>"$mensaje);
// o bien:
$mensaje ereg_replace("\r\n","<li>"$mensaje); 
Eso debe responder tu duda ;)

Salu2
__________________
http://www.chorcha.com
  #3 (permalink)  
Antiguo 02/07/2003, 19:49
Avatar de Escoffie  
Fecha de Ingreso: abril-2003
Ubicación: Mérida, Yucatán
Mensajes: 242
Antigüedad: 21 años
Puntos: 9
Gracias Camargo!!! Voy a probar y luego te platico. Esa sí que fue una respuesta rápida.
  #4 (permalink)  
Antiguo 02/07/2003, 19:52
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
Solo que ten en cuenta que la variable $mensaje es la del textarea que utilizaras en tu formulario, para que haga un reemplazamiento del codigo que exista dentro de esa cajita de texto ;)=

+ info: http://www.php.net > ereg_replace
__________________
http://www.chorcha.com
  #5 (permalink)  
Antiguo 02/07/2003, 20:36
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Wow!!! creo que te han mal-interpretado...

Mira, cuando una persona da un enter en un textarea, automaticamente la variable que lo recibe lo interpreta como un salto de linea "\n", por lo tanto, la persona que llena el formulario no debe introducirlo manualmente. PREGUNTA 1 SOLUCIONADA.

Si es posible hacer lo que pides, pero es necesario que primero te asegures de que no hay "enters" dobles o triples (una costumbre muy comun entre quienes llenan formularios con textareas. Por lo tanto, al principio reemplazaremos las repeticiones, y luego aplicaremos la función explode para que nos meta cada una de las lineas en un campo de un array...

Código PHP:
//Una vez que ya has guardado el texto en la BD, ahora lo recuperas en una variable...

$texto=$recordset["campodetexto"];
//ahora le quitamos los "enter" de más
$texto=preg_replace("/\n+/","\n",$texto);
//Ahora metemos las lineas en un array
$lineas=explode("\n",$texto);
//Ahora le damos salida a cada linea como un bullet
echo "<ul>\n";
foreach (
$lineas as $bullet){
echo 
"<li>".$bullet."</li>\n";
}
echo 
"</ul>"
Ya quedo listo, pruebalo.

__________________
Manoloweb
  #6 (permalink)  
Antiguo 02/07/2003, 20:49
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
Creo q aki si tienes razon Manoloweb,, ps yo no sabia como trabajaban las viñetas,, crei q era un simple <ul> o <il> pss nunca e trabajado con ellas y se me hizo facil contestar como si fuese un sencillo <br>,, pero, si,, mejor el codigo de Manoloweb..

creo q he abandonado un pocoo ,esto,, deja me pongo a leer o se me van a adelantar todos :S

Salu2
__________________
http://www.chorcha.com
  #7 (permalink)  
Antiguo 02/07/2003, 21:04
Avatar de Escoffie  
Fecha de Ingreso: abril-2003
Ubicación: Mérida, Yucatán
Mensajes: 242
Antigüedad: 21 años
Puntos: 9
Gracias Manoloweb y Camargo!!! Funcionó de maravilla el script!!!

Justamente lo que me estaba fallando es que escribía literalmente el \n y por eso no me quedaba como quería :P

Estoy muy agradecido por sus respuestas certeras y rápidas, ya llevaba horas con eso :)

Hasta luego y nuevamente GRACIAS
  #8 (permalink)  
Antiguo 01/12/2006, 21:46
 
Fecha de Ingreso: septiembre-2006
Mensajes: 41
Antigüedad: 17 años, 6 meses
Puntos: 1
Cita:
Iniciado por Escoffie Ver Mensaje
¿Hay algún modo de meter un string con saltos de línea a una tabla de mySQL sin poner \n al final de cada línea? Vaya... Que el usuario sólo escriba en el textarea dando "enter" cuando quiera que haya un salto, en vez de escribir a mano el \n
cuando se le da enviar al formulario, en el cual el textarea se ha dado varios enters para separar parrafos (principalmente de un usuario inexperto, para que separe parrafos), como hago para que si queden guardados los saltos de línea y los muestre, sinceramente no entendi mucho esta explicación, agradeceria mucho que ayudaran a este novato.

PD necesito una explicacion para "dummies"
jaja
  #9 (permalink)  
Antiguo 01/12/2006, 21:57
 
Fecha de Ingreso: septiembre-2006
Mensajes: 41
Antigüedad: 17 años, 6 meses
Puntos: 1
perdon, he investigado mas y he encontrado una respuesta que si entendi y he podido aplicar y me funciona bien.
  #10 (permalink)  
Antiguo 01/12/2006, 22:05
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 1 mes
Puntos: 535
Cita:
Iniciado por senseijulio Ver Mensaje
perdon, he investigado mas y he encontrado una respuesta que si entendi y he podido aplicar y me funciona bien.
genial. porque revivir un tema del año 2003...

;)
__________________
...___...
  #11 (permalink)  
Antiguo 01/12/2006, 22:09
 
Fecha de Ingreso: septiembre-2006
Mensajes: 41
Antigüedad: 17 años, 6 meses
Puntos: 1
sorry, pero hasta el 2006 pude aprender por mis propios medios el php, perdon por no haber comenzado antes....
  #12 (permalink)  
Antiguo 01/12/2006, 22:58
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 1 mes
Puntos: 535
yo también comencé con PHP en el 2006... nada tiene que ver mi respuesta y tus (y mis) conocimientos de PHP con que hayas revivido un tema iniciado en 2003.

La cuestión es no ser apresurado... buscar la solución antes de preguntar (sobre todo cuando no te costó más de 11 minutos encontrarla)
__________________
...___...
  #13 (permalink)  
Antiguo 02/12/2006, 11:30
 
Fecha de Ingreso: septiembre-2006
Mensajes: 41
Antigüedad: 17 años, 6 meses
Puntos: 1
perdon por no ser tan iluminado como tu.
11 minutos es demasiado, no crees?
cuanto te hubieras tardado tu?
  #14 (permalink)  
Antiguo 02/12/2006, 15:23
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 1 mes
Puntos: 535
11 minutos es demasiado si tu esperanza de vida es de 24 horas.
__________________
...___...
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 14:03.