Foros del Web » Programando para Internet » PHP »

Explode con dos separadores?

Estas en el tema de Explode con dos separadores? en el foro de PHP en Foros del Web. Hola... Quería saber si es posible realizar un explode() con dos o mas separadores. Ahora tengo así: explode(", ", $cadena); Pero en una cadena del ...
  #1 (permalink)  
Antiguo 26/02/2009, 09:33
Avatar de Threepwood  
Fecha de Ingreso: febrero-2002
Ubicación: Argentina
Mensajes: 906
Antigüedad: 22 años, 2 meses
Puntos: 4
Explode con dos separadores?

Hola...

Quería saber si es posible realizar un explode() con dos o mas separadores.

Ahora tengo así:

explode(", ", $cadena);

Pero en una cadena del tipo

"Juan, Pedro, María y Estebán" obviamente el último elemento no funionaría.

Hay alguna manera de hacer que explode funcione con ", " y " y" ??

Gracias.

Saludos!
__________________
Equívocos sin importancia
  #2 (permalink)  
Antiguo 26/02/2009, 09:39
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Respuesta: Explode con dos separadores?

Puedes convertir Y en una coma para trabajar con él

Código PHP:
//Cadena original
$cadena "Juan, Pedro, María y Esteban";

//Cadena "tratada", queda asi: Juan, Pedro, María, Esteban
$mi_cadena str_replace(" y "", "$cadena);

//Separacion
$nombres explode(","$mi_cadena);

print_r($nombres); 
  #3 (permalink)  
Antiguo 26/02/2009, 09:57
 
Fecha de Ingreso: abril-2008
Mensajes: 13
Antigüedad: 16 años
Puntos: 0
De acuerdo Respuesta: Explode con dos separadores?

Qe yo sepa nO, explode sólo recibe 3 parametros. El primero es el separador, el segundo es la cadena string a examinar y el tercer parametro es el límite...

Pero si quieres separar ambos en un array puedes hacerlO como te indicarOn... O si no, como para que practiques el tercer parametro de explode utilizar, algo asi como estO:

Código PHP:
<?
//Cadena original
$cadena "Juan, Pedro, María y Esteban";
$nueva_cadena=explode(",",$cadena,3);
//echo $nueva_cadena[0];
//echo $nueva_cadena[1];
//echo $nueva_cadena[2];
$nuevo_valor=$nueva_cadena[2];
$new_cadena=explode("y",$nuevo_valor);
echo 
$new_cadena[0];
echo 
$new_cadena[1];
?>
Suerte

Última edición por Morles; 26/02/2009 a las 10:08
  #4 (permalink)  
Antiguo 26/02/2009, 09:59
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Explode con dos separadores?

O tambien puedes usar split(), que funciona con expresiones regulares:
http://www.php.net/manual/en/function.split.php
  #5 (permalink)  
Antiguo 26/02/2009, 11:20
Avatar de Threepwood  
Fecha de Ingreso: febrero-2002
Ubicación: Argentina
Mensajes: 906
Antigüedad: 22 años, 2 meses
Puntos: 4
Respuesta: Explode con dos separadores?

Hola a todos

Muchas graias por sus respuestas, me gustó mucho la solución de David y estudiaré más la propuesta por Ronruby.

Saludos!

Sam.
__________________
Equívocos sin importancia
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 02:09.