Foros del Web » Programando para Internet » PHP »

Problema con insercion de datos al usar explode

Estas en el tema de Problema con insercion de datos al usar explode en el foro de PHP en Foros del Web. Bueno ya se que el titulo suena raro, pero no supe como describirlo mejor, al grano pues, tengo un textarea en el que los usuarios ...
  #1 (permalink)  
Antiguo 30/07/2010, 13:19
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Problema con insercion de datos al usar explode

Bueno ya se que el titulo suena raro, pero no supe como describirlo mejor, al grano pues, tengo un textarea en el que los usuarios de mi web, (van) a insertar datos tipo tags de este modo

grano, café, rico, mouse etc.

separados con comas, lo que permite pasarle un explode a los datos, todo bien hasta ahí, pero sucede que cuando alguien pone algo así

grano, café, rico, mouse,

al insertar dichos tags se inserta un campo vacio que es después de la última coma, esto no me preocupaba mucho pero si es un problema que a alguien se le pasé y me pasa lo mismo con un textarea que recoge links, y eso si causa problemas mayores, ¿alguien sabe como evitar esa ultima coma? o como le puedo hacer no se me ocurre nada.
  #2 (permalink)  
Antiguo 30/07/2010, 13:23
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Problema con insercion de datos al usar explode

y si usas trim() ???
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 30/07/2010, 13:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con insercion de datos al usar explode

array_filter() también es útil....
http://php.net/array_filter
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 30/07/2010, 13:28
mleonardom
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con insercion de datos al usar explode

Código PHP:
Ver original
  1. $cadena = "val1, val2, val3,";
  2. $cadena = trim($cadena); // elimina espacios en blanco al inicio y final de la cadena
  3. $cadena = $cadena[strlen($cadena)-1] == ','? substr($cadena,0,-1): $cadena; // Si el último caracter es una coma la elimina de la cadena.
  4.  
  5. $datos = explode(',',$cadena);

Espero te sirva,

Saludos
  #5 (permalink)  
Antiguo 30/07/2010, 13:32
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Problema con insercion de datos al usar explode

si lees la documentación de trim().. veras que también puedes eliminar otros caracteres aparte de los espacios al inicio y al final
__________________
More about me...
~ @rhyudek1
~ Github
  #6 (permalink)  
Antiguo 30/07/2010, 13:34
mleonardom
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con insercion de datos al usar explode

Yo en lo personal no estoy acostumbrado a usar array_filter, por que podría eliminar valores como false que si podría llegar a necesitarce, pero este no es el caso, pateketrueke, tienes toda la razon, funcionaría mucho mejor el array_filter,

Y Hidek1 ..... eso no lo sabia, garcias pro el dato ... cuanto tiempo desperdiciando la función trim !!!

Saludos,
  #7 (permalink)  
Antiguo 30/07/2010, 14:41
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Problema con insercion de datos al usar explode

ok gracias a todos, he probado los tres métodos que me dieron, y todos me dan errores, :x pero creo que es por que estoy ordenando mal mi código, trataré de arreglaro por que creo que va por lo que dice mleonardom, pero creo que algo anda mal con esa funcion que me dió, sigo probando.
  #8 (permalink)  
Antiguo 30/07/2010, 15:13
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Problema con insercion de datos al usar explode

Bueno ya está, usando substr solucione el problema, primero comprobé con esa funcion si el ultimo caracter era una coma, si es asi con la misma funcion se la quito o más bien muestro toda la cadena menos un caracter, y si no es coma sigo con la ejecucion del script.

gracias por la atencion. sobre todo a mleonardom que me dio la idea.

Etiquetas: explode
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:37.