从PHP中的From电子邮件标题中提取名称和电子邮件

时间:2012-09-03 19:59:10

标签: php string parsing split

我正在使用PHP解析电子邮件。我已经完成了解析器,但现在我很好奇是否有任何简单的方法可以从From头中提取名称和电子邮件,如下所示:

来自: John Doe <john.doe@hotmail.com>

是否有将John Doejohn.doe@hotmail.com分开的快捷方式?

2 个答案:

答案 0 :(得分:2)

您可以使用preg_match()尝试使用正则表达式。

/From:\s*(.*[^\s])\s*<\s*(.*[^\s])\s*>/

这应该会在第一和第二索引中为您提供姓名和电子邮件地址。

答案 1 :(得分:0)

如果您可以安装,可以尝试使用mailparse PECL扩展程序。如果没有,请提取From:标头并解析它。发件人的名字是可选的,所以它可能不存在,但电子邮件应该(谨防垃圾邮件发送者)。有关详细信息,请参阅RFC 822RFC 2822