Foros del Web » Programando para Internet » PHP »

sacar todos lo mails de una cadena

Estas en el tema de sacar todos lo mails de una cadena en el foro de PHP en Foros del Web. Hola amigos. Mi jefe me mando un documento donde estan todos los datos y de los proveedores, pero yo solo necesito los emails de todo ...
  #1 (permalink)  
Antiguo 24/04/2009, 12:33
eira2meigas
Invitado
 
Mensajes: n/a
Puntos:
sacar todos lo mails de una cadena

Hola amigos.

Mi jefe me mando un documento donde estan todos los datos y de los proveedores, pero yo solo necesito los emails de todo ese extenso documento.

Asi que pregunto:
Hay una forma de sacar todos los emails de existan en una cadena e insertarlos en una base de datos.

Gracias.
Espero me puedan ayudar.
  #2 (permalink)  
Antiguo 24/04/2009, 12:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: sacar todos lo mails de una cadena

Puedes usar una expresión regular del tipo /[a-z._-]+@[a-z-]+\.[a-z]+/ con preg_match_all para extraerlos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 24/04/2009, 12:47
eira2meigas
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: sacar todos lo mails de una cadena

Gracias por contestar amigo.
Tengo la siguiente pero no e me funciona.
Código PHP:
tieneEmails("estos es una prueba [email protected]");


function 
tieneEmails($cuerpo){
 
stripslashes($cuerpo);
 
$exp_email '[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})+';
 if (
preg_match_all ("/$exp_email/i"$cuerpo$emailsPREG_SET_ORDER))
    echo 
$emails[0][0]."<br>";
 } 
  #4 (permalink)  
Antiguo 24/04/2009, 13:09
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: sacar todos lo mails de una cadena

Cambiando la expresión por /[a-z._-]+@[a-z-]+\.[a-z.]+/ funciona bien.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 24/04/2009, 13:41
eira2meigas
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: sacar todos lo mails de una cadena

Gracias.

Funciona de lo mejor.
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 12:16.