标签: php string parsing split
我正在使用PHP解析电子邮件。我已经完成了解析器,但现在我很好奇是否有任何简单的方法可以从From头中提取名称和电子邮件,如下所示:
来自: John Doe <john.doe@hotmail.com>
John Doe <john.doe@hotmail.com>
是否有将John Doe和john.doe@hotmail.com分开的快捷方式?
John Doe
john.doe@hotmail.com
答案 0 :(得分:2)
您可以使用preg_match()尝试使用正则表达式。
/From:\s*(.*[^\s])\s*<\s*(.*[^\s])\s*>/
这应该会在第一和第二索引中为您提供姓名和电子邮件地址。
答案 1 :(得分:0)
如果您可以安装,可以尝试使用mailparse PECL扩展程序。如果没有,请提取From:标头并解析它。发件人的名字是可选的,所以它可能不存在,但电子邮件应该(谨防垃圾邮件发送者)。有关详细信息,请参阅RFC 822和RFC 2822
mailparse
From: