Foros del Web » Programando para Internet » ASP Clásico »

Saltos de línea

Estas en el tema de Saltos de línea en el foro de ASP Clásico en Foros del Web. Tengo un formulario en el que los usuarios introducen una noticia con sus diferentes campos (título, resumen, texto, autor, etc...). El problema que tengo es ...
  #1 (permalink)  
Antiguo 14/05/2004, 05:49
 
Fecha de Ingreso: mayo-2004
Mensajes: 35
Antigüedad: 20 años, 1 mes
Puntos: 0
Saltos de línea

Tengo un formulario en el que los usuarios introducen una noticia con sus diferentes campos (título, resumen, texto, autor, etc...).

El problema que tengo es que los saltos de línea que se introducen al escribir el texto de la noticia con el retorno de carro se guardan como espacios en la base de datos (access) y al mostrar la noticia en otra página sale sin los saltos de línea.

Igual me pasa si en la base el texto está con saltos: al sacar la noticia sale sin ellos.

Lo único que he podido hacer hasta ahora es introducir etiquetas "<br>" a mano para que al sacar la noticia meta saltos.
Había pensado en tratar el texto antes de guardarlo en la base y reemplazar los saltos por etiquetas br usando replace.

¿Alguien me puede echar una mano? ¿alguna idea?

Muchas gracias
  #2 (permalink)  
Antiguo 14/05/2004, 06:57
Avatar de Cbas  
Fecha de Ingreso: enero-2002
Ubicación: capital federal
Mensajes: 437
Antigüedad: 22 años, 5 meses
Puntos: 2
mirá... mientras estás guardando el texto tendrías que poner

replace(REquest("TextoConEnter"), vbcrlf, "<br>")


Fijate si funciona.
SALUDOS!
__________________
La Perfección es enemigo de lo bueno.
  #3 (permalink)  
Antiguo 14/05/2004, 10:03
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, 3 meses
Puntos: 535
No, no, no... eso mismo lo tenés que hacer al momento de mostrar la información. No al guardar. Guardala sin hacer el replace y luego, al mostrarla, ponés:

response.write replace(rs("Texto"), vbcrlf, "<br>")

por qué no hacer el replace al guardar? Porque luego, si querés editar ese contenido mediante un formulario, vas a tener que hacer nuevamente un replace pero a la inversa para que en el formulario se muestren los saltos de línea y no los <br>
__________________
...___...
  #4 (permalink)  
Antiguo 17/05/2004, 08:22
 
Fecha de Ingreso: mayo-2004
Mensajes: 35
Antigüedad: 20 años, 1 mes
Puntos: 0
Muchísimas gracias. Así queda perfecto, es justo lo que estaba buscando. Es el problema de no conocer las funciones que se usan en este script de VB.

Una pregunta, ¿qué es el rs que colocas delante del texto (replace(RS ("Texto"), vbcrlf, "<br>")?
Yo no lo he puesto. Uso dreamweaver, y en la etiqueta donde lo muestro en la página he puesto:
<%=(replace(Recordset1.Fields.Item("Cuerpo").Value ,vbcrlf,"<br>"))%>
Donde cuerpo es el campo de la base donde lo guardo.

Y última molestia: ¿Qué diferencia hay entre vbcrlf, vbcr y vblf?
  #5 (permalink)  
Antiguo 17/05/2004, 10:37
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, 3 meses
Puntos: 535
rs sería el objeto recordset (vos los llamaste Recordset1). Y todo esto "Recordset1.Fields.Item("Cuerpo").Value" se puede abreviar en "Recordset1("Cuerpo")"

Y la diferencia entre vbcrlf, vbcr y vblf es que un salto de línea (vbcrlf -carriage return/linefeed-), si mal no recuerdo, está compuesto por vbcr (carriage return) y vblf (linefeed).

Luego, estas "constantes" tienen los siguientes valores:

vbCr: Chr(13)
vbLf: Chr(10)
VbCrLf: Chr(13) & Chr(10)
  #6 (permalink)  
Antiguo 18/05/2004, 07:07
 
Fecha de Ingreso: mayo-2004
Mensajes: 35
Antigüedad: 20 años, 1 mes
Puntos: 0
Muchas gracias, me ha quedado todo claro.
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 21:55.