Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

borrar espacios delante y detras de texto recuperado por BD

Estas en el tema de borrar espacios delante y detras de texto recuperado por BD en el foro de Mysql en Foros del Web. Hola a tod@s, tengo un problema y la verdad no se porque ocurre. Paso un texto de la base de datos a una página mediante ...
  #1 (permalink)  
Antiguo 02/08/2010, 05:01
 
Fecha de Ingreso: marzo-2006
Mensajes: 75
Antigüedad: 18 años, 1 mes
Puntos: 1
borrar espacios delante y detras de texto recuperado por BD

Hola a tod@s, tengo un problema y la verdad no se porque ocurre.

Paso un texto de la base de datos a una página mediante un mysql_fetch_array:

$comentario= $row2['texto'];

Este texto en la BD se ha guardado correctamente sin espacios ni delante ni detras, y respetando saltos de linea etc... Pues bien, cuando lo paso a la pagina, si miro el código donde se ha imprimido el texto de la base de datos, existen unos espacios enormes tanto delante como detrás formados por espacios en blanco.

Como lo puedo evitar??? Es que necesito coger el texto mediante jqeury y claro, me lo coje con esos espacios.


Saludos y gracias!
  #2 (permalink)  
Antiguo 02/08/2010, 05:20
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: borrar espacios delante y detras de texto recuperado por BD

alguna pregunta: ¿cómo sabes que lo has guardado bien en la base? ¿viéndolo en PhPMyAdmin? Ten cuidado, porque en el modo visualización, como html que es, no se ven los espacios en blanco antes y después (a mi me ha ocurrido que esos espacios existian y yo seguía sin verlos en visualización de PHPMyAdmin. Edita con PHPMyAdmin un registro y nos dices si tienes o no espacios antes o después. Comprueba eso primero. Si está bien en edición, es decir, si no existen esos espacios, es que el problema está en otro lado: PHP, HTML, etc.
También podría tratarse de un problema de codificación y que lo que hay delante fueran caracteres no reconocidos... Pero edita algún registro en el que veas esos espacios y dinos qué ves en la base.
  #3 (permalink)  
Antiguo 02/08/2010, 05:25
 
Fecha de Ingreso: marzo-2006
Mensajes: 75
Antigüedad: 18 años, 1 mes
Puntos: 1
Respuesta: borrar espacios delante y detras de texto recuperado por BD

Hola, primero de todo, gracias por contestar :)

He editado elr egistro en PHPMyAdmin y lo he copiado y pegado a este post y queda exactamente como lo ves:

Código HTML:
ssssssssss

Esto no es lo que parece

Ahhh un salto de línea!!!
los saltos de linea me los mantiene ya que hago el streplace, pero cuando me lo carga en la pagina me deja unos espacios, me he fijado y más que espacios parecen tabulaciones ya son saltos muy grandes.
  #4 (permalink)  
Antiguo 02/08/2010, 05:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: borrar espacios delante y detras de texto recuperado por BD

En realidad tienes dos problemas en uno: La base sólo guarda lo que le dices que guarde, por lo que si los datos tienen espacios antes o después, es porque se los mandaron... O sea que el formulario de entrada tiene mal las validaciones.
En segundo lugar, esas dudas se responden con los manuales: Todo lenguaje tiene funciones para eliminar los espacios vacíos, e incluso el SQL los tiene. Solamente tienes que buscar, como dije, en el manual de referencia:
SQL: LTRIM(), RTRIM() y TRIM() (ver:12.3. Funciones para cadenas de caracteres).

PHP: ltrim(), rtrim(), trim().

Te cuento un tip: En casi todos los lenguajes de programación esas funciones se llaman igual...

En cuanto a los saltos, esos no parecen tabuladores sino saltos de línea o saltos de párrafo.
Verifica lo que está entrando a la base, porque como ya te dije, la base no guarda nada que no le estés enviando; lo que sí es posible es que no estés validando correctamente el ingreso antes de mandarlo a base.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 02/08/2010, 05:29
 
Fecha de Ingreso: marzo-2006
Mensajes: 75
Antigüedad: 18 años, 1 mes
Puntos: 1
Respuesta: borrar espacios delante y detras de texto recuperado por BD

Si capto el texto con jquery y hago un alert, el texto queda así:

Código HTML:
								ssssssssss

Esto no es lo que parece

Ahhh un salto de línea!!!
Alguna idea?
  #6 (permalink)  
Antiguo 02/08/2010, 05:31
 
Fecha de Ingreso: marzo-2006
Mensajes: 75
Antigüedad: 18 años, 1 mes
Puntos: 1
Respuesta: borrar espacios delante y detras de texto recuperado por BD

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Todo lenguaje tiene funciones para eliminar los espacios vacíos, e incluso el SQL los tiene. Solamente tienes que buscar, como dije, en el manual de referencia:
SQL: LTRIM(), RTRIM() y TRIM()
Ya hago un trim, que en teoría me tendría que borrar los espacios, y no lo hace

$texto =$row2['texto'];
$textohtml=str_replace("\n","<br>",$texto);
echo trim($textohtml);
  #7 (permalink)  
Antiguo 02/08/2010, 05:46
 
Fecha de Ingreso: marzo-2006
Mensajes: 75
Antigüedad: 18 años, 1 mes
Puntos: 1
Respuesta: borrar espacios delante y detras de texto recuperado por BD

Ya se lo que pasa, es un problema con el navegador!!! en IE y En chome me lo coje bien, en Firefox me falla y me crea los espacios

Etiquetas: bd, borrar, espacios
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 22:24.