Foros del Web » Programando para Internet » PHP »

Extraer correos de cadena para insertarlos en MySql

Estas en el tema de Extraer correos de cadena para insertarlos en MySql en el foro de PHP en Foros del Web. Saludos y gracias de antemano a todo aquel que me pueda ayudar Tengo una duda, cuando me llegan correos a veces cadena o a veces ...
  #1 (permalink)  
Antiguo 24/11/2009, 15:42
Avatar de carlospc  
Fecha de Ingreso: noviembre-2008
Ubicación: Huancayo/Perú
Mensajes: 240
Antigüedad: 15 años, 5 meses
Puntos: 12
Exclamación Extraer correos de cadena para insertarlos en MySql

Saludos y gracias de antemano a todo aquel que me pueda ayudar

Tengo una duda, cuando me llegan correos a veces cadena o a veces enviados por grupos, me llegan una lista de correos y lo que yo quiero es copiar estos correos pegarlos en un textbox y que al presionar un boton un script en php extraiga todos y cada uno de los correos que se encuentren en dicha cadena para poder guardarlos en MySql

Alguien tiene idea de como puedo hacer dicha operacion... lo de guardar los datos y pasarlo entre paginas lo tengo claro, lo que no tengo idea es de como extraer cada uno de los correos que esten en la cadena

Gracias de antemano...
  #2 (permalink)  
Antiguo 24/11/2009, 15:48
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Extraer correos de cadena para insertarlos en MySql

depende de como vengan separado.. se aria con una expresion regular si pegas aca un extracto de los mail en cadena se puede ver que hacer!
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 24/11/2009, 23:22
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Extraer correos de cadena para insertarlos en MySql

Puedes usar algun delimitador y explotar esa cadena en un array, luego con un bucle (for, while, do while, foreach) lo recorres el array y pasas la información de cada uno de los email a mysql.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 25/11/2009, 10:07
Avatar de carlospc  
Fecha de Ingreso: noviembre-2008
Ubicación: Huancayo/Perú
Mensajes: 240
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Extraer correos de cadena para insertarlos en MySql

bueno hay dos distintos casos en la estructura que llegan los emails, uno es cuando se pusieron varios correos de destinatarios, en ese caso llegan masomenos asi

nombre ([email protected]); otronombre ([email protected]); ultimo nombre apellido ([email protected]);

Es decir llegan nombres y sus correos entre parentesis, bueno eso depende de si el que envia el correo lo tiene registrado como contacto y asignado un nombre si no se alterna este orden, llegando: nombres (email); soloemail; soloemail; otronombre (suemail);

Y en el caso cuando un mensaje tenia varios destinatarios y este se reenvia los emails iniciales se adjuntan automaticamente al mensaje (lo que sucede en los email cadena, se llena mas de emails que del mensaje en si) en ese caso al adjuntarse solo se adjuntan los emails separados por punto y coma (;)

Espero me ayan entendido... y AbimaelRC porfavor... me podrias dar una guia aprox de lo que me dices... la verdad no entiendo como explotar la cadena para extraer exclusivamente los email...

Gracias...
  #5 (permalink)  
Antiguo 25/11/2009, 10:36
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Extraer correos de cadena para insertarlos en MySql

Explotar la cadena, si siempre vana estar separados por punto y coma es facil, luego recorres el array y usas expresiones regulares para extraer el email de cada elemento
  #6 (permalink)  
Antiguo 25/11/2009, 11:01
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Extraer correos de cadena para insertarlos en MySql

Código php:
Ver original
  1. $string = preg_match_all('#([a-z0-9\._-]+@[a-z0-9\._-]+)#is',$string,$emails);
  2. foreach ($emails[1] as $value){
  3.     echo $value."<br>";
  4. }

me demore un poco en hacerla pq estaba un tanto ocupado.. espero te sirva!

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #7 (permalink)  
Antiguo 26/11/2009, 11:21
Avatar de carlospc  
Fecha de Ingreso: noviembre-2008
Ubicación: Huancayo/Perú
Mensajes: 240
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Extraer correos de cadena para insertarlos en MySql

HideK1 gracias por el codigo... me sirvio de mucho...
  #8 (permalink)  
Antiguo 26/11/2009, 11:23
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Extraer correos de cadena para insertarlos en MySql

de nada.. lo agregue a mi lista de funciones la cual algun dia publicare xD!
__________________
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 13:22.