Когда-либо задавались вопросом, как спаммеры могут получать Ваш адрес электронной почты? Это просто, они рассматривают веб-страницы (такие как форумы), точнее код html, чтобы извлечь адреса электронных почт. Эта функция принимает в качестве параметра строковую переменную, и печатает все электронные письма, содержавшие в строке.

                        
function extract_emails($str){
// Это регулярное выражение извлекает все электронные письма из строки:
$regexp = '/([a-z0-9_.-])+@(([a-z0-9-])+.)+([a-z0-9]{2,4})+/i';
preg_match_all($regexp, $str, $m);

return isset($m[0]) ? $m[0] : array();
}
// Тестовый текст
$test_string = 'This is a test string...
[email protected]

Test different formats:
[email protected];
<a href="[email protected]">foobar</a>
<[email protected]>

strange formats:
[email protected]
test6[at]example.org
[email protected]
test8@ example.org
test9@!foo!.org
foobar
';
// Получаем список адресов
print_r(extract_emails($test_string));
0 18 0
Без комментариев...