PHP:¿Cómo hacer un extractor de e-mails?

De Foros del Web

Pues muy fácil...

En un textbox metemos la cadena de texto que queremos procesar y el script automáticamente extrae cualquier e-mail encontrado. Muy últil !!!

Código PHP:

<?php 
//Verificamos si se introdujo alguna cadena 
if (!isset($cadena)) { 
    echo "Debe introducir una cadena de texto."; 
} else { 
   stripslashes($cadena); 
 
$regexp_email = '[_a-z0-9\-]+(\.[_a-z0-9\-]+)*\@[_a-z0-9\-]+(\.[a-z]{1,4})+'; 
//Extraemos los e-mails que concuerden con la expresión regular 
$encontrado = preg_match_all ("/$regexp_email/i", $cadena, $emparejados, PREG_SET_ORDER); 
//Si se encuentra, no los muestra cada uno en una lista 
    if ($encontrado) { 
        foreach ($emparejados AS $i => $contenidoParentesis) { 
            printf ('Emparejamiento %d = <span class="emparejamiento">%s</span>' . 
                "<br />\n", $i, $contenidoParentesis[0]); 
        } 
    } else { 
        echo "No se encontró nada"; 
    } 
} 
 
echo <<< HTML 
 
<html> 
<head> 
<title>Extractor de e-mails</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 
 
<body> 
<form method="post" action=""> 
  <textarea name="cadena" cols="120" rows="30"></textarea> 
  <input type="submit" name="Submit" value="Procesar"> 
</form> 
</body> 
</html> 
 
HTML; 
 
?> 

--drcyber 03 Jun 2003

Este artículo es parte de las FAQs de PHP y el Manual de PHP.

Herramientas personales