Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中从电子邮件头中提取名称和电子邮件_Php_String_Parsing_Split - Fatal编程技术网

在PHP中从电子邮件头中提取名称和电子邮件

在PHP中从电子邮件头中提取名称和电子邮件,php,string,parsing,split,Php,String,Parsing,Split,我正在用PHP解析电子邮件。我已经完成了解析器,但现在我很好奇是否有简单的方法可以从From头中提取姓名和电子邮件,如下所示: 发件人:John Doe 有没有捷径可以找到johndoe和John。doe@hotmail.comseparate?如果可以安装,可以尝试使用mailparsePECL扩展。如果不是,则从:头中提取,并对其进行解析。发件人的名字是可选的,所以可能不存在,但电子邮件应该有(不过要小心垃圾邮件发送者)。有关更多详细信息,请参见和,如果可以安装,您可以尝试使用mailpar

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

发件人:
John Doe


有没有捷径可以找到
johndoe
John。doe@hotmail.com
separate?

如果可以安装,可以尝试使用
mailparse
PECL扩展。如果不是,则从:头中提取
,并对其进行解析。发件人的名字是可选的,所以可能不存在,但电子邮件应该有(不过要小心垃圾邮件发送者)。有关更多详细信息,请参见和,如果可以安装,您可以尝试使用
mailparse
PECL扩展。如果不是,则从:
头中提取
,并对其进行解析。发件人的名字是可选的,所以可能不存在,但电子邮件应该有(不过要小心垃圾邮件发送者)。有关详细信息,请参见和。您可以尝试使用正则表达式

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

这将在索引1和索引2中获得名称和电子邮件地址。

您可以尝试使用正则表达式

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

这应该可以在索引1和索引2中找到您的姓名和电子邮件地址。

我正在使用mailparse。但它给了我一个完整的标题,“Name”通常是“FOO”或“”(所以尖括号总是在那里)。另外(通常是垃圾邮件发送者)可以从以下位置输入更多地址:,但它之间用“,”分隔,我正在使用mailparse。但它给了我一个完整的标题,“Name”通常是“FOO”或“”(所以尖括号总是在那里)。而且(通常是垃圾邮件发送者)可以从以下位置放入更多地址,但随后用“,”分隔
/From:\s*(.*[^\s])\s*<\s*(.*[^\s])\s*>/