Foros del Web » Programando para Internet » Javascript »

insertar el <br> en un texto

Estas en el tema de insertar el <br> en un texto en el foro de Javascript en Foros del Web. hola. Tengo un texto que tengo que meter en una base de datos,pero no me coge los saltos de linea y me lo pone todo ...
  #1 (permalink)  
Antiguo 17/07/2003, 02:42
 
Fecha de Ingreso: junio-2003
Mensajes: 4
Antigüedad: 20 años, 10 meses
Puntos: 0
insertar el <br> en un texto

hola. Tengo un texto que tengo que meter en una base de datos,pero no me coge los saltos de linea y me lo pone todo pegado.
que funcion tengo que utilizar para que me coja los saltos y me inserte los <br> en la base de datos
gracias
  #2 (permalink)  
Antiguo 17/07/2003, 04:40
 
Fecha de Ingreso: marzo-2001
Ubicación: Gran Canaria
Mensajes: 381
Antigüedad: 23 años, 2 meses
Puntos: 2
hola,

realmente los saltos de linea si se guardan en la base de datos, lo unico es que se guardan como el caracter de salto de linea, o sea, Chr(13).

si estas usando base de datos es que estas utilizando alguna tecnologia como asp, php, jsp, o alguna......Entonces, lo que tienes que hacer es sustituir los Chr(13) por los <br>. Te digo como se hace en asp que es lo que utilizo, y si es otra tecnoliga pues nada, a buscar.....


SI el campo que sacas de la base de datos y que tiene los retornos de carro se llama "texto", en vez de sacar el valor como:

<%= texto %>

lo sacas como

<%= replace(texto,Chr(13),"<br>") %>


cuidado que si "texto" es null por algun casual, replace canta error.



ToKaTa.
__________________

"Si pudieras volver.....¿.lo harias?"
  #3 (permalink)  
Antiguo 17/07/2003, 12:17
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Buenas,


en javascript podrías hacerlo así

<script language="JavaScript">
function reemplazarIntros(cual)
{
texto = cual.value
intro=new RegExp(String.fromCharCode(10),"g")
texto2=texto.replace(intro,"<br>")
alert (texto2) //esto lo puedes sacar. Lo pongo para que veas al instante el resultado

}
</script>

Y a tu textarea le pides

<textarea name="textfield" onblur="reemplazarIntros(this)"></textarea>

  #4 (permalink)  
Antiguo 17/07/2003, 15:04
Avatar de eDuDiTo  
Fecha de Ingreso: junio-2002
Ubicación: Murcia
Mensajes: 173
Antigüedad: 21 años, 10 meses
Puntos: 0
Como dice ToKaTa, los saltos de línea si que se guardan en la base de datos, así que una solución mucho más sencilla sería mostrar el contenido entre etiquetas <PRE> </PRE>

<PRE><%=texto%></PRE>

Saludos!
  #5 (permalink)  
Antiguo 17/07/2003, 15:13
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
eDudito,

eso provocaría en la mayoría de los casos que se deformaran las páginas y saliera el scroll horizontal.
¿Qué sucedería con los párrafos largos que no incluyan un salto de línea hasta dentro de muchos caracteres?

Lo que se pretende es que dentro del html se interpreten los saltos de línea y para eso se necesitan <br>. Sea antes de enviar a la base de datos o al rescatar los datos, sea en cliente o en servidor, si el destino final es html es becesario substituír esos saltos por br.

saludos
  #6 (permalink)  
Antiguo 17/07/2003, 15:21
Avatar de eDuDiTo  
Fecha de Ingreso: junio-2002
Ubicación: Murcia
Mensajes: 173
Antigüedad: 21 años, 10 meses
Puntos: 0
Otra vez más tienes razón... (que asco me da que me corrijan :-p ).

El caso es que yo había utilizado los <PRE> para mostrar letras de canciones, y como éstas al final de cada frase tienen un salto de línea, pues no me deformaban nada. En fin... bueno es saberlo.
  #7 (permalink)  
Antiguo 17/07/2003, 15:33
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Claro... en el caso de letras de canciones sí que se podría omitir el proceso y usar un pre.
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 03:11.