Foros del Web » Programando para Internet » PHP »

Espacios en campo TEXT

Estas en el tema de Espacios en campo TEXT en el foro de PHP en Foros del Web. En MySQL tengo un campo tipo text al cual ingreso diferentes lineas Con una funcion lo que hago es reempazar los espacios con "-" pero ...
  #1 (permalink)  
Antiguo 16/12/2013, 15:12
 
Fecha de Ingreso: septiembre-2009
Mensajes: 108
Antigüedad: 14 años, 7 meses
Puntos: 1
Espacios en campo TEXT

En MySQL tengo un campo tipo text al cual ingreso diferentes lineas

Con una funcion lo que hago es reempazar los espacios con "-" pero el problema es que al final o principio de cada linea si hay un espacio con la funcion "Trim" no me elimina dicho espacio

Centro---
Microcentro
-Macrocentro
Al-Final-de-la-Ciudad-
Al-Principio-de-la-Ciudad

Las lineas marcadas en negrita están perfecto y tendrían y quisiera eliminar los "-" que marque en rojo

alguna idea de como eliminar los espacios en el final y principio de cada linea

Las funciones que uso para grabar y mostrar los campos text son las siguientes


Código:
        function grabar_text($text) {

	$find = array(' ');
	$repl = array('-');
	$text = str_replace ($find, $repl, trim($text));

	return $text;
	}
	
	function mostrar_text($text) {

	$find = array('-');
	$repl = array(' ');
	$text = str_replace ($find, $repl, trim($text));

	return $text;
	}
  #2 (permalink)  
Antiguo 16/12/2013, 15:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Espacios en campo TEXT

Desde luego que trim() debería funcionar a la perfección, así:
Código PHP:
Ver original
  1. echo trim('        espacios al inicio y al final          ');

Si no te funciona entonces algo harás mal, ¿qué podrá ser?

Adivinos no somos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/12/2013, 15:40
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: Espacios en campo TEXT

prueba sacando el trim de la funcion replace
Código PHP:
Ver original
  1. function grabar_text($text) {
  2.  
  3.     $find = array(' ');
  4.     $repl = array('-');
  5.         $text2=trim($text);
  6.     $text3 = str_replace ($find, $repl, $text2);
  7. return $text3;
  8.     }
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #4 (permalink)  
Antiguo 16/12/2013, 16:32
 
Fecha de Ingreso: septiembre-2009
Mensajes: 108
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Espacios en campo TEXT

No, ya he probado de sacar el Trim de la funcion, agregarlo antes de grabar en la base de datos pero no pasa nada, siguen apareciendo los espacios en las lineas al final y al principio
  #5 (permalink)  
Antiguo 16/12/2013, 16:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Espacios en campo TEXT

Cita:
Iniciado por davchi Ver Mensaje
No, ya he probado de sacar el Trim de la funcion, agregarlo antes de grabar en la base de datos pero no pasa nada, siguen apareciendo los espacios en las lineas al final y al principio
A mi se me ocurre que tal vez no sean espacios, porque trim() sirve exactamente para eliminar espacios al final e inicio de una cadena.

Si no funciona entonces no son espacios.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 16/12/2013, 16:51
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Espacios en campo TEXT

Me imagino que esto es lo que buscas

Código PHP:
Ver original
  1. function grabar_text($text) {
  2.  
  3.     $find = array(' ');
  4.     $repl = array('-');
  5.     $text = str_replace ($find, $repl, $text);
  6.     $text = trim($text, '-');
  7.     return $text;
  8. }
  9.    
  10. function mostrar_text($text) {
  11.     $find = array('-');
  12.     $repl = array(' ');
  13.     $text = str_replace ($find, $repl, $text);
  14.     $text = trim($text);
  15.     return $text;
  16. }

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #7 (permalink)  
Antiguo 16/12/2013, 22:13
 
Fecha de Ingreso: septiembre-2009
Mensajes: 108
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Espacios en campo TEXT

No, siguen apareciendo los espacios o mejor dicho los guines "-" adelante y atras
  #8 (permalink)  
Antiguo 17/12/2013, 11:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Espacios en campo TEXT

Cita:
Iniciado por davchi Ver Mensaje
No, siguen apareciendo los espacios o mejor dicho los guines "-" adelante y atras
Pues me da la impresión que no estás haciendo las cosas correctamente, no es posible que seas el único en el mundo al que no le funciona trim().

Sería bueno ver el código real y completo de lo que estás haciendo, para dejar de adivinar.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 17/12/2013, 11:54
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, 5 meses
Puntos: 2658
Respuesta: Espacios en campo TEXT

Apoyo lo que dice @paketetrueke. Si estás aplicando el TRIM() en PHP o en SQL, el resultado sigue siendo el mismo: elimina espacios a ambos lados. Siempre.
Si te falla, es poruqe hay algún error en tu implementación, no en el uso de trim() en PHP o en MySQL.

Postea el código. COMPLETO.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: campo, espacios, mysql, text
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:59.