使用Laravel解析电子邮件地址

4
我该如何解析这种格式的电子邮件地址:
"Bob Smith" <bob@company.com>, joe@company.com, "John Doe"<john@company.com>

并获得以下类似的数组:
array(
     'bob@company.com'=>'Bob Smith'
     'joe@company.com'=>''
     'john@company.com'=>'John Doe'
);

我们在Laravel中是否有类似于mailparse_rfc822_parse_addresses()的功能?


只需调用该函数或创建一个类,以防发生更改并调用该函数。 - ka_lin
1个回答

0
你可以使用这个函数从字符串中提取所有的电子邮件地址:
function extract_email_address_from_string ($string) {
    foreach(preg_split('/\s/', $string) as $token) {
        $email = filter_var(filter_var($token, FILTER_SANITIZE_EMAIL), FILTER_VALIDATE_EMAIL);
        if ($email !== false) {
            $emails[] = $email;
        }
    }

    return $emails;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接