Foros del Web » Programando para Internet » PHP »

Eliminar todas las palabras que se repiten dentro de una variable??

Estas en el tema de Eliminar todas las palabras que se repiten dentro de una variable?? en el foro de PHP en Foros del Web. Buneas programadores!! A ver tengo una variable que podria contener los siguiente: $resultado = Ocio;Viajes;España;Viajes;Ocio;Viajes;jamaica Existe alguna funcion para borrar las que se repitan dejandola ...
  #1 (permalink)  
Antiguo 03/07/2003, 04:46
 
Fecha de Ingreso: marzo-2002
Mensajes: 9
Antigüedad: 15 años, 9 meses
Puntos: 0
Pregunta Eliminar todas las palabras que se repiten dentro de una variable??

Buneas programadores!!

A ver tengo una variable que podria contener los siguiente:

$resultado = Ocio;Viajes;España;Viajes;Ocio;Viajes;jamaica

Existe alguna funcion para borrar las que se repitan dejandola asi?:

$resultado = Ocio;Viajes;España;jamaica

A lo mejor es secillo, pero no se me ocurre la formula m'agica!!


Gracias por adelantadp a todo aquel que me eche un cable!!

Marcos
  #2 (permalink)  
Antiguo 03/07/2003, 04:59
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Puedes pasar la cadena a un array con explode() (www.php.net/explode) por el caracter de separacion, y luego usar array_unique() (www.php.net/array_unique) para eliminar los repetidos. Y para finalizar usas implode() (www.php.net/implode) para volver a pasar de array a cadena.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 03/07/2003, 10:40
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5


Josemi, muy creativa tu forma de encarar este asunto...

Yo ya estaba pensando en expresiones regulares y complicaciones de esas...
__________________
Manoloweb
  #4 (permalink)  
Antiguo 03/07/2003, 13:43
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
No es nada, simplemente pensamiento alternativo, muchos años programando y un poco de vision.

Cuando lei el string, lo que vi fue una lista de palabras separadas por ; . Lista=array. Y partir de ahi, es sencillo sabiendo que hay una funcion que elimina elementos repetidos.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 31/03/2005, 11:10
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 10 meses
Puntos: 20
Si, muy bien pensado.

Pero por ejemplo la cadena:

"Ah!, si ellos estanaqui.!

debemos darle al ereg_replace() una larga cantidad de posibilidades xomo serian:
Código PHP:
(:|.|,|*|;) 
Es asi como se deberia "optimizar" el resultado?
  #6 (permalink)  
Antiguo 31/03/2005, 12:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Anarko
Si, muy bien pensado.

Pero por ejemplo la cadena:

"Ah!, si ellos estanaqui.!

debemos darle al ereg_replace() una larga cantidad de posibilidades xomo serian:
Código PHP:
(:|.|,|*|;) 
Es asi como se deberia "optimizar" el resultado?
Creo que este mensaje está fuera de contexto o te equivocastes al responder? ... Confirmalo ..

Un saludo,
  #7 (permalink)  
Antiguo 31/03/2005, 15:34
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 10 meses
Puntos: 20
Espero que no...

Si dividimos por espacios $cadenaX tonces nos quedaran vars tipo:

$cad[5]='Ah!';

Por ello pregunto si ante mil/500 palabras la forma correcta de crear vars sin esos caracteres seria hacer un
Código PHP:
$var=ereg_replace(',|\.|;',' ',$var); 
Esa es mi pregunta.

Gracias.
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 18:49.