Foros del Web » Programando para Internet » PHP »

Campos separados por espacios

Estas en el tema de Campos separados por espacios en el foro de PHP en Foros del Web. Muy buenas; Digamos que tengo un listado de nombres en un .txt separados entre sí sólo por espacios, ya sea un espacio y 100 espacios ...
  #1 (permalink)  
Antiguo 17/09/2004, 04:31
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 15 años, 6 meses
Puntos: 0
Exclamación Campos separados por espacios

Muy buenas;

Digamos que tengo un listado de nombres en un .txt separados entre sí sólo por espacios, ya sea un espacio y 100 espacios entre cada uno .

Lo que pretendo es volcar dicho listado en mi base de datos MySQL para que cada nombre tenga su correspondiente lugar en el campo nombre de mi db.

¿Sé puede hacer sin tener que poner un seperador (coma, punto-coma) entre cada uno?
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #2 (permalink)  
Antiguo 17/09/2004, 04:46
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,
Cita:
¿Sé puede hacer sin tener que poner un seperador (coma, punto-coma) entre cada uno?
Cita:
separados entre sí sólo por espacios, ya sea un espacio y 100 espacios entre cada uno
No entiendo tu pregunta, si ya dices que los tienes separados por espacios. El caracter separador es el espacio en txt. Haces un explode() por espacio y solo metes los nombres con longitud mayor de 0, porque si haces un explode() de la cadena te saldran elementos vacios por tener varios espacios seguidos. Tambien tendrias la opcion de reducir los conjuntos de espacios seguidos a uno solo usando alguna expresion regular.

De todas formas, le veo un problema a ese formato del fichero si lo que almacenas son nombres. Porque un nombre puede tener 2 palabras separadas por espacio (pe, Jose Miguel, ¿es un solo nombre o son 2?).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 17/09/2004, 06:07
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 15 años, 6 meses
Puntos: 0
Gracias Josemi, en realidad no son nombres sino direcciones de email, que mi clienta saca de una porquería de programa y los copia deirectamente en un txt, y dicho txt, segun me cuenta, contiene a veces muchos espacios entre cada email o muchas lineas entre ellos.

Lo que he pensado es lo siguiente:

1. Quitar los espacios sobrantes con:

$string = preg_replace("/ +/", " ", $string);

2. Separar cada dirección en un array:

$email = explode(' ', $string);

3. Validar cada dirección de email con expresiones regulares:

$res = ereg(
'^[a-z0-9_]|\\-|\\.)+'.
'@'.
'(([a-z0-9_]|\\-)+\\.)+'.
'[a-z]{2,4}$',
$email);

Pese a no saber si esto va a dar el resultado previsto para lo que deseo hacer (enviar correo a dichas direcciones de correo) me enfrento a otro pequeño problema

a) Mi clienta me indica que a veces (muchas) las direcciones de email están mal escritas, tienen espacios o le falta la arroba y necesito "saltarme dichas direcciones de email" pero que no produzca ningún error el script.

Estoy es blanco, ¿cómo haráis algo así?

Muchísimas gracias
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #4 (permalink)  
Antiguo 20/09/2004, 02:58
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 15 años, 6 meses
Puntos: 0
¿Nadie me puede ayudar? ...
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
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:52.