Você sempre quis saber como os spammers descobrem seu endereço de email?
É simples. Eles usam robôs para navegar pela web, e depois eles extraem os endereços de email usando "Expressão Regular".
O código abaixo analisa uma string, e devolve um Array com os emails contidos nessa string. Essa string poderia ser um arquivo HTML encontrado em qualquer fórum, blog, etc.
function extrairEmails($string) {
$pattern = '/([a-z0-9_\.\-])+\@(([a-z0-9\-])+\.)+([a-z0-9]{2,4})+/i';
preg_match_all($pattern, $string, $matches);
return isset($matches[0]) ? $matches[0] : array();
}
$test_string = 'String de exemplo
email@email.com.br
Procurar emails:
email2@email.com.br;
<a href="email3@email.com.br">email</a>
<email4@email.com.br>';
print_r(extrairEmails($test_string));
/*
Saida:
Array
(
[0] => email@email.com.br
[1] => email2@email.com.br
[2] => email3@email.com.br
[3] => email4@email.com.br
)
*/