Foros del Web » Programando para Internet » PHP »

Separar cadena texto complejamente

Estas en el tema de Separar cadena texto complejamente en el foro de PHP en Foros del Web. Hola, bueno para vosotros igual no es complejo, pero me cuesta poner en un array php el contenido de esta cadena de texto separada por ...
  #1 (permalink)  
Antiguo 24/10/2011, 08:29
 
Fecha de Ingreso: octubre-2011
Mensajes: 2
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta Separar cadena texto complejamente

Hola,

bueno para vosotros igual no es complejo, pero me cuesta poner en un array php el contenido de esta cadena de texto separada por comas y en campos por comillas.

Ejemplo:

Tengo esta cadena de texto:
"202","""Dr. Hugo Marquez"" <202>","CP/117,40,tT"

y quiero obtener el siguiente resultado:
array[0] = 202;
array[1] = ""Dr. Hugo Marquez"" <202> ó Dr. Hugo Marquez<< <202> //me da igual
array[2] = CP/117,40,tT

En un principio hice esto:
//asumiendo que en $linea está el valor arriba indicado.
$linea= str_replace('"',"", $linea); //quito comillas
$array_linea=explode("," , $linea); //separo por comas

Esto limpiaba las comillas y separaba por comas pero al tener el campo 3 comas incluidas en su texto me lo ponía incorrectamente así que hay que separar los campos teniendo en cuenta las comillas para separador de texto.

¿Alguien me puede ayudar?
  #2 (permalink)  
Antiguo 24/10/2011, 08:44
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Separar cadena texto complejamente

Código PHP:
print_r(explode('","'"202","""Dr. Hugo Marquez"" <202>","CP/117,40,tT")); 

saludos .
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 24/10/2011, 09:02
 
Fecha de Ingreso: octubre-2011
Mensajes: 2
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Separar cadena texto complejamente

Cita:
Iniciado por Hidek1 Ver Mensaje
Código PHP:
print_r(explode('","'"202","""Dr. Hugo Marquez"" <202>","CP/117,40,tT")); 

saludos .
Muchas gracias simplemente le limpio la comilla del principio y creo que con eso tendría para seguir, pero si por ejemplo tuviese esto: (vaya con el que formó el csv ... )

"202","""Dr. Hugo Marquez"" <202>","CP/117,40,tT", 18 , 22

Con solución me saldría:
Array (
[0] => "202
[1] => ""Dr. Hugo Marquez"" <202>
[2] => CP/117,40,tT", 18 , 22 )

y necesitaría esto:

Array (
[0] => "202
[1] => ""Dr. Hugo Marquez"" <202>
[2] => CP/117,40,tT
[3] =>18
[4] => 22 )

Creo que contra esto lo mejor es cojer el campo [2] y después de una comilla separar por comas.

$array_exra = explode("," , $array[2]);
y sacar los datos.
En fin el ... que me manda ese csv tan bien formado.
  #4 (permalink)  
Antiguo 24/10/2011, 09:08
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Separar cadena texto complejamente

ups.. lo hise a la rapida sin pensar disculpa.. ^^

$cadena = '"202","""Dr. Hugo Marquez"" <202>","CP/117,40,tT"';
print_r(explode('","', $cadena));

saludos.
__________________
More about me...
~ @rhyudek1
~ Github

Etiquetas: cadenas
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 04:45.