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

PROBLEMAS con TEXTO... no me salen los saltos de linea y me concatena el texto...

Estas en el tema de PROBLEMAS con TEXTO... no me salen los saltos de linea y me concatena el texto... en el foro de ASP Clásico en Foros del Web. Hola a todos.. tengo un problema... tengo un campo varchar(1000)... Escribo en un text area... por ejemplo asi: Cita: Esta es una prueba de ingreso ...
  #1 (permalink)  
Antiguo 16/01/2006, 09:09
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 2 meses
Puntos: 11
Desacuerdo PROBLEMAS con TEXTO... no me salen los saltos de linea y me concatena el texto...

Hola a todos.. tengo un problema... tengo un campo varchar(1000)...

Escribo en un text area... por ejemplo asi:
Cita:
Esta es una prueba de ingreso de datos
aca hay un salto
aca tambien

aca es doble
y luego guardo...

Al mostrar los datos en una web me muestra asi...

Cita:
Esta es una prueba de ingreso de datos aca hay un salto aca tambien aca es doble

y en algunos casos me muestra asi

Cita:
Estaesunapruebadeingresodedatosacahayunsaltoacatam bienacaesdoble
Como puedo darle un formato adecaudo.. creo que existe una funcion que reconosca los saltos de linea... o creo que es el tipo de dato en SQL server...

Nota: no debo usar etiquetas HTML

Saludos.
  #2 (permalink)  
Antiguo 16/01/2006, 09:13
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 6 meses
Puntos: 27
TuTexto = rs("tucampo")
TuTexto = Replace(TuTexto,vbCrlf,"<br>")
__________________
JuanRa Pérez
San Salvador, El Salvador
  #3 (permalink)  
Antiguo 16/01/2006, 09:54
 
Fecha de Ingreso: abril-2005
Mensajes: 137
Antigüedad: 19 años
Puntos: 0
De acuerdo

pos yo pienso que deberías utilizar en la introducción de datos un textarea, para poder grabar los datos incluidas las tags "<br>", y al desplegar los datos hacerlos en el mismo textarea.

Con eso dejas la solución a los datos que los pasa el Explorador en lugar de hacer tu una solución innecesaria.

Saludos
  #4 (permalink)  
Antiguo 16/01/2006, 11:51
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 2 meses
Puntos: 11
Bueno si me graba los datos con <br>.. pero ahora quiero mostrarlos en un text area

y me sale esto

salto<BR>salto<BR> ' y asi esta en la BD

Bueno lo que hice fue hacer esto con javascript para mostrar

cont_area=cont_area.replace("<br>","\n");

y me muestra asi.

salto
salto
<br>


ese ultimo <br> no se reemplaza...
porque?

si hago esto
cont_area=cont_area.replace("<br>","\n");
cont_area=cont_area.replace("<br>","\n");
si me funciona

pero si tengo salto<BR>salto<BR>salto<BR>
me sale asi

salto
salto
salto
<br>


nos e que pasa?
  #5 (permalink)  
Antiguo 16/01/2006, 12:32
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 22 años, 2 meses
Puntos: 2
tienes que hacer lo contrario
TuTexto = Replace(TuTexto,"<br>", vbCrlf)


saludos
__________________
Manual de ASP Avanzado ;-)
  #6 (permalink)  
Antiguo 16/01/2006, 12:42
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 2 meses
Puntos: 11
me sale asi

saltovbCrlfsasalto

me reemplaza solo una ves...

replace de Javascript solo reemplaza una sola sola ves...
  #7 (permalink)  
Antiguo 16/01/2006, 17:34
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Si con Replace(TuTexto,vbCrLf,"<br>") no funciona (que debería de) pues quita el vbCrLf por Chr(13) & Chr(10)

Saludos

Cita:
Other constants:
vbCr Chr(13) Carriage return.
VbCrLf Chr(13) & Chr(10) Carriage return-linefeed combination.
vbFormFeed Chr(12) Form feed; not useful in Microsoft Windows.
vbLf Chr(10) Line feed.
vbNewLine Chr(13) & Chr(10) or Chr(10) Platform-specific newline
character; whatever is appropriate for the platform.
vbNullChar Chr(0) Character having the value 0.
vbNullString String having value 0 Not the same as a zero-length
string (""); used for calling external procedures.
vbTab Chr(9) Horizontal tab.
vbVerticalTab Chr(11)
  #8 (permalink)  
Antiguo 16/01/2006, 19:53
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 2 meses
Puntos: 11
igual amigo... solo reemplaza una ves... si tengo mas de 2 <br> solo reempla uno.. asi use "\n"... solo una ves...

pero lo arregle con esto

for (i=1;i<100;i++)
Replace(TuTexto,"\n","<br>")


ahi si funciona.... pero una solucion como esa no es sistemico
  #9 (permalink)  
Antiguo 17/01/2006, 04:48
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 3 meses
Puntos: 7
NOTA: varchar cuando excede de 255 caracteres se convierte a TEXT (BLOB de texto) Si estas seguro que ese campo va a pasar de 255 en algun registro, cambia el tipo a TEXT. Te resultará más eficiente.

Usando PHP acepta los retornos de carro que este le envia (incluyendo el uso de funciones tan interesantes como stripslashes o addslashes en PHP). Esto quiere decir que enviando \n luego no tienes que realizar conversion alguna a la hora de enviarlo a un textarea pero si lo tendrás que hacer para mostrarlo en HTML. Mi recomendación es que te hagas dos funciones: Una para leer DESDE un textarea o input text y otra para mostrar A un textarea o input text.

ESpero haberte ayudado

Un saludo
  #10 (permalink)  
Antiguo 17/01/2006, 08:08
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Supongo, por el código y por el hecho de decir que solo te remplaza una vez, que no estas usando vbscript.

Por default, replace de vbscript hace todas las sustituciones posibles si así se lo indicas, basta con revisar la ayuda de este comando.

Código:
<%
cadena = "Este es un texto largo<br>como podría ser cualquiera,<br>es simplemente para probar<br>una función"
response.write "<textarea cols=40 rows=3>" & cadena & "</textarea>"
cadena = replace(cadena, "<br>", VbCrLf)
response.write "<textarea cols=40 rows=3>" & cadena & "</textarea>"
cadena = replace(cadena, VbCrLf, "<br>")
response.write "<textarea cols=40 rows=3>" & cadena & "</textarea>"
%>
Como puedes verificar, el segundo TEXTAREA sale como deseas con solo un replace.

Saludos
  #11 (permalink)  
Antiguo 17/01/2006, 13:44
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 2 meses
Puntos: 11
Tiene que ser con javascritp necesariamente...
ya me quede con esto

for (i=1;i<100;i++)
Replace(TuTexto,"\n","<br>")
  #12 (permalink)  
Antiguo 12/08/2011, 21:36
 
Fecha de Ingreso: agosto-2011
Mensajes: 1
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: PROBLEMAS con TEXTO... no me salen los saltos de linea y me concatena el t

Mi amigo, Existe una función PHP llamada nl2br(); donde debes hacer lo siguiente
Código:
$text = $_POST["text_area"];

echo nl2br($text);
Veras que te imprimirá los saltos de linea, es una funcion para convertir precisamente los saltos de linea en \n o de \n a <br>, etc.. está probada.

Atte
smOK!

Última edición por AlZuwaga; 15/08/2011 a las 10:07 Razón: remover firma del mensaje
  #13 (permalink)  
Antiguo 13/08/2011, 12:40
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Respuesta: PROBLEMAS con TEXTO... no me salen los saltos de linea y me concatena el t

smokrox

Primero, respondes un tema viejo con una respuesta que no ayuda a la solución y segundo, tu respuesta radica en un comando de un lenguaje que no es ASP clásico, que es del que estan preguntando.

Este tema se cierra

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




La zona horaria es GMT -6. Ahora son las 11:26.