假设我在字符串中分隔了以下电子邮件地址逗号:
$addrList = 'Kevin.Brine@pppg.com, Robert.Thomas@pppg.com, "Guice, Doug" <Doug.Guice@pppg.com>';
Run Code Online (Sandbox Code Playgroud)
我需要以下结果:
[0] => Kevin.Brine@pppg.com
[1] => Robert.Thomas@pppg.com
[2] => "Guice, Doug" <Doug.Guice@pppg.com>
Run Code Online (Sandbox Code Playgroud)
看起来相当简单,但引用名称中的逗号确实让我试图使用preg_match_all或preg_split找到解决方案.此外,我们也应该容纳使用单引号的电子邮件,即:'smith, tom' <tom.smith@abc.com>
str_getcsv()应该给你你需要的东西,虽然它会删除引号.
编辑
如果你想把报价放回去:
$addrList = 'Kevin.Brine@pppg.com, Robert.Thomas@pppg.com, "Guice, Doug" <Doug.Guice@pppg.com>';
$t = str_getcsv($addrList);
foreach($t as $k => $v) {
if (strpos($v,',') !== false) {
$t[$k] = '"'.str_replace(' <','" <',$v);
}
}
var_dump($t);
Run Code Online (Sandbox Code Playgroud)