Парсер email-адрессов.

Часто ли вам приходилось собирать базу email адрессов? Мне вот частенько приходится из базы сайтов выдирать email-адресса админов. Ручками это делать во первых тупо, во вторых – уморительно.
Вот простой кусок кода который ходит по ссылкам из текстового файла и собирает все mail-адресса на страничке. В данном примере выводиться урл – и массив из email адрессов, но можете переписать под свои нужны.
< ?
set_time_limit(0);
$lines = file('mail.txt');
$out = array();
foreach ($lines as $line_num => $line) {
$url=file_get_contents(trim($line));
preg_match_all('/[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+
?[\.A-Za-z0-9]{2,}/', $url, $out);
echo $line.' ';
print_r($out);
echo '
';
}
?>
P.S в регулярных выражениях я не силён и поэтому с этой регуляркой есть проблема – не правильно обрабатывает email адресса в которых есть знак -.
Разработка интернет-магазинов, скриптов, SEO и повышение конвертации. Менеджмент онлайн проектов.
Sam
30 Apr, 2008
preg_match_all(‘~[.-_a-z0-9]+?@[.-a-z0-9]+
?[.a-z0-9]{2,}~i’, $url, $out);
ych
2 мая, 2008
Спасибо за код, будем тестить юзать)
Санек
4 Dec, 2010
Вот есть простой и удобный парсер адресов себе писал для некоторых нужд
http://www.andriets.com/useful-tools-en/for-marketing-en/tool-email-parser.html
вводишь текст в котором содержатся адреса жмешь кнопку parse и получаешь список неповторяющихся адресов. Можно разделитель вставить тамже
triox
24 Dec, 2010
спасибо админ, парсер помог. пришлось немного подправить