Если у вас включено расширение imap, оно может быть простым:
var_dump(imap_rfc822_parse_adrlist('First name <email@example.com>,
"first name" <email@example.com>,
<email@example.com>,
email@example.com','_invalid_'));
Выход:
array(4) {
[0]=>
object(stdClass)#1 (3) {
["mailbox"]=>
string(5) "email"
["host"]=>
string(11) "example.com"
["personal"]=>
string(10) "First name"
}
[1]=>
object(stdClass)#2 (3) {
["mailbox"]=>
string(5) "email"
["host"]=>
string(11) "example.com"
["personal"]=>
string(10) "first name"
}
[2]=>
object(stdClass)#3 (2) {
["mailbox"]=>
string(5) "email"
["host"]=>
string(11) "example.com"
}
[3]=>
object(stdClass)#4 (2) {
["mailbox"]=>
string(5) "email"
["host"]=>
string(11) "example.com"
}
}