Foros del Web » Programando para Internet » PHP »

Ordenar cadena de texto.

Estas en el tema de Ordenar cadena de texto. en el foro de PHP en Foros del Web. Buenos dias, necesito ordenar una cadena de texto y no se me ocurre con que funcion hacerlo o que expresion usar para que me quede ...
  #1 (permalink)  
Antiguo 17/11/2009, 07:29
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 18 años
Puntos: 23
Pregunta Ordenar cadena de texto.

Buenos dias,
necesito ordenar una cadena de texto y no se me ocurre con que funcion hacerlo o que expresion usar para que me quede correcta, haber si alguno me da una mano..

tengo la siguiente cadena:

por ejemplo: 5|3|1

el tema si yo le quiero quitar o agregar algun número más..
pero quiero que queden siempre separados por el caracter pipe "|" hay veces que queda 5||2|9 y luego al usar explode te toma como un valor más ese || que es un espacio en blanco..

Alguna idea? nose si se entiende lo que quisiera hacer...

Muchas Gracias!
  #2 (permalink)  
Antiguo 17/11/2009, 07:31
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Ordenar cadena de texto.

como ingresas los datos a la cadena?
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 17/11/2009, 07:34
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 18 años
Puntos: 23
Respuesta: Ordenar cadena de texto.

inicialmente los datos son 1|2|3 guardados en un campo de la BD pero despues se modifican..

Última edición por McBlink; 17/11/2009 a las 07:35 Razón: error ortografia
  #4 (permalink)  
Antiguo 17/11/2009, 07:37
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Ordenar cadena de texto.

Código php:
Ver original
  1. $cadena = preg_replace("/|{2,}/","|",$cadena);
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 17/11/2009, 07:44
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 18 años
Puntos: 23
Respuesta: Ordenar cadena de texto.

nunca entendí bien esas expresiones.. me puedes decir sencillamente que es lo que hace?

Gracias!
  #6 (permalink)  
Antiguo 17/11/2009, 07:50
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Ordenar cadena de texto.

Código php:
Ver original
  1. $cadena = preg_replace("/|{2,}/","|",$cadena);

toma todos los signos | que esten juntos y los transforma en 1...
asi te evitas los ||
__________________
More about me...
~ @rhyudek1
~ Github
  #7 (permalink)  
Antiguo 17/11/2009, 07:55
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 18 años
Puntos: 23
Respuesta: Ordenar cadena de texto.

ajá.. haber.. me sucede ésto:

Código PHP:
$cadena "1||2|3";
$cadena preg_replace("/|{2,}/","|",$cadena);
echo 
$cadena
y me da el siguiente error

Código HTML:
preg_replace() [function.preg-replace]: Compilation failed: nothing to repeat at offset 4 in
es error de sintaxis?
  #8 (permalink)  
Antiguo 17/11/2009, 08:01
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Ordenar cadena de texto.

nose.. en realidad no lo probe.. intenta comentando el pipe...
o encerrandolo entre parentesis


Código php:
Ver original
  1. $cadena = "1||2|3";
  2. $cadena = preg_replace("/\|{2,}/","|",$cadena);
  3. echo $cadena;

Código php:
Ver original
  1. $cadena = "1||2|3";
  2. $cadena = preg_replace("/(|{2,})/","|",$cadena);
  3. echo $cadena;

con las expr regulares no me llevo muy bien :P
__________________
More about me...
~ @rhyudek1
~ Github
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:47.