Foros del Web » Programando para Internet » PHP »

Extractor/detector de mails

Estas en el tema de Extractor/detector de mails en el foro de PHP en Foros del Web. Hi People, como andan todos? Estoy tratando de hacer algo, no se si ya existe o como se puede hacer, la idea es tener un ...
  #1 (permalink)  
Antiguo 02/06/2008, 19:50
Avatar de pmuruaga  
Fecha de Ingreso: diciembre-2005
Mensajes: 127
Antigüedad: 18 años, 4 meses
Puntos: 0
Extractor/detector de mails

Hi People, como andan todos?
Estoy tratando de hacer algo, no se si ya existe o como se puede hacer, la idea es tener un textarea donde se pueda poner cualquier cosa, y poder detectar y extraer las direcciones de mail que haya en ese texto, y meterlas en una base de datos. La parte dificil para mi es la primera, como detecto y paso las direcciones de mail a un array por ejemplo.
Es decir, un ejemplo de entrada es la siguiente:

Pepito Pirulo <[email protected]>; [email protected]; [email protected]; [email protected], <ls de fin>[email protected]

me deberia grabar en la base datos solo los emails:
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

alguna pista de como puedo hacerlo, mi idea habia sido separar todo por espacios, luego recorrer cada una de las palabras y revisar si tiene una @, si la tiene comprovar si es un email, y si termina en < o > o ; quitarlos y grabar en la base de datos, seguramente hay algunos casos que aun no tuve en cuenta, pero seria eso basicamente. Espero alguien pueda tirarme una solución. Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 02/06/2008, 20:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Extractor/detector de mails

necesitas aprender expresiones regulares... Googlea un rato y sabras!

un ejemplo facil seria esto....

Código PHP:
preg_match_all('/[a-z0-9\._-]+'// letras, numeros y puntos... guiones
  
'@'// la @[rroba]
      
'[a-z0-9\._-]+'// mismos caracteres legales... (indistinto en orden)
    
'/i'// insensible a mayusculas y minusculas...
  
'\\0'// identifica todo lo "hallado"
$texto$mails); 
solo "captaria" los emails con forma: [email protected] (aunque sea ilegal) vaya, solo combinaciones de estos caracteres.... a-z0-9._- ..dentro de la variable $mails (como arreglo) este es solo un ejemplo.... tu podrias encontrar mas en la pagina del manual de PHP, y asi mismo aprenderás a crear tus propias expresiones para detectar y reemplazar patrones en cadenas de texto... suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 20:48.