Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在用 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
您可以尝试使用preg_match()的正则表达式。
/From:\s*(.*[^\s])\s*<\s*(.*[^\s])\s*>/
这应该会在索引一和索引二中为您提供姓名和电子邮件地址。
如果mailparse可以安装 PECL 扩展程序,您可以尝试使用它。如果没有,请提取From:标题并解析它。发件人的名字是可选的,所以它可能不存在,但电子邮件应该(但要小心垃圾邮件发送者)。有关详细信息,请参阅RFC 822和RFC 2822
mailparse
From: