среда, 30 апреля 2008 г.

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


Часто ли вам приходилось собирать базу email адрессов? Мне вот частенько приходится из базы сайтов выдирать email-адресса админов. Ручками это делать во первых тупо, во вторых - уморительно.

Вот простой кусок кода который ходит по ссылкам из текстового файла и собирает все mail-адресса на страничке. В данном примере выводиться урл - и массив из email адрессов, но можете переписать под свои нужны.

  1. < ?
  2. $lines = file('mail.txt');
  3. $out = array();
  4.  
  5. foreach ($lines as $line_num => $line) {
  6.     $url=file_get_contents(trim($line));
  7.     preg_match_all('/[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,}/', $url, $out);
  8.     echo $line.'&nbsp;&nbsp;&nbsp;';
  9.     print_r($out);
  10.     echo '<br /><br />';
  11. }
  12. ?>

P.S в регулярных выражениях я не силён и поэтому с этой регуляркой есть проблема - не правильно обрабатывает email адресса в которых есть знак -.

Здесь можно оставить свои комментарии.

Комментариев нет: