If for some reason you cannot compile mailparse into your install of PHP, you will also find an extremely similar function in the Mail_MIME PEAR class, specifically in mimeDecode.php.(PECL mailparse >= 0.9.0)
mailparse_rfc822_parse_addresses — Analyse des adresses
   Analyse une liste d'adresses valides eu égard à la » RFC 822,
   comme celles trouvées dans l'en-tête To:.
  
addresses
       Une chaîne de caractères contenant les adresses, comme :
       Wez Furlong <wez@example.com>, doe@example.com
      
Note:
Cette chaîne de caractères ne doit pas contenir le nom de l'en-tête.
Retourne un tableau de tableaux associatifs contenant les clés suivantes pour chaque adresses :
display | 
       
        Le nom de l'adresse, aux fins d'affichage. Si cette partie n'est pas définie
        pour une adresse, il contiendra la même valeur que la clé
        address.
        | 
      
address | 
       L'adresse email | 
is_group | 
       true si l'adresse est un newsgroup, false sinon. | 
      
Exemple #1 Exemple avec mailparse_rfc822_parse_addresses()
<?php
$to = 'Wez Furlong <wez@example.com>, doe@example.com';
var_dump(mailparse_rfc822_parse_addresses($to));
?>L'exemple ci-dessus va afficher :
array(2) {
  [0]=>
  array(3) {
    ["display"]=>
    string(11) "Wez Furlong"
    ["address"]=>
    string(15) "wez@example.com"
    ["is_group"]=>
    bool(false)
  }
  [1]=>
  array(3) {
    ["display"]=>
    string(15) "doe@example.com"
    ["address"]=>
    string(15) "doe@example.com"
    ["is_group"]=>
    bool(false)
  }
}
If for some reason you cannot compile mailparse into your install of PHP, you will also find an extremely similar function in the Mail_MIME PEAR class, specifically in mimeDecode.php.<?php
// input: My Test Email <some.test.email@somewhere.net>
function get_displayname_from_rfc_email($rfc_email_string) {
    // match all words and whitespace, will be terminated by '<'
    $name       = preg_match('/[\w\s]+/', $rfc_email_string, $matches);
    $matches[0] = trim($matches[0]);
    return $matches[0];
}
// Output: My Test Email
function get_email_from_rfc_email($rfc_email_string) {
    // extract parts between the two parentheses
    $mailAddress = preg_match('/(?:<)(.+)(?:>)$/', $rfc_email_string, $matches);
    return $matches[1];
}
// Output: some.test.email@somewhere.net
?>An alternative to the mailparse_rfc822_parse_addresses() function is Mail_RFC822::parseAddressList() from Pear:
http://pear.php.net/manual/en/package.mail.mail.php
It parses the string and returns a structured tree of data. Returns a pear_error object if the string is not valid.
Example:
require_once "PEAR.php";
require_once "Mail/RFC822.php";
                                                                                
$addr= "Hi <hi@world.org>";
                                                                                
$res= Mail_RFC822::parseAddressList($addr);
if (PEAR::isError($res)) die("NOT VALID: " . $res->getMessage() . "\n");
echo "OK. Data:\n";
print_r($res);