Народ сильно не пинайте если такая тема уже есть (я не нашёл)! В регулярках я ноль. Надо вытащить все e-mail адреса из строки, а хотяб приблительно как для этого написать регулярку я не знаю... Кто с таким сталкивался или знает как сделать помогите пожалуйста!
PHP: <? $buf = " адресок [email=440hz@mail.ru]440hz@mail.ru[/email] и еще адын <440hz@php.ru> и еще [email=andrey.lugovou@440hz.ru]andrey.lugovou@440hz.ru[/email] [email=andrey_lugovoy@440hz.ru]andrey_lugovoy@440hz.ru[/email] "; $pattern = '/[-0-9a-z\._]+@[0-9a-z\._]+\.[a-z]{2,4}/i'; if(preg_match_all($pattern,$buf,$mails)) { print_r($mails); } ?> Код (Text): www(root):/home/440hz/tests#>php getmail.php Array ( [0] => Array ( [0] => 440hz@mail.ru [1] => 440hz@php.ru [2] => andrey.lugovou@440hz.ru [3] => andrey_lugovoy@440hz.ru ) )
PHP: <? $buf = " адресок [email=440hz@mail.ru]440hz@mail.ru[/email] и еще адын <440hz@php.ru> и еще [email=andrey.lugovou@440hz.ru]andrey.lugovou@440hz.ru[/email] [email=andrey_lugovoy@440hz.ru]andrey_lugovoy@440hz.ru[/email] [email=admin@734.com1.ru]admin@734.com1.ru[/email] "; ... ?> Код (Text): www(root):/home/440hz/tests#>php getmail.php Array ( [0] => Array ( [0] => 440hz@mail.ru [1] => 440hz@php.ru [2] => andrey.lugovou@440hz.ru [3] => andrey_lugovoy@440hz.ru [4] => admin@734.com1.ru ) )
интересно, а что будем делать с адресами типа Код (Text): ...@...oops для первого варианта или Код (Text): @@@.myemail для второго ? а, может, действительно, детали... по-моему единственный способ увериться, что перед вами -- валидный адрес -- это послать на него сообщение и дождаться ответа... хотя, похоже, человек этим и решил заняться. в массированном режиме, причём...