Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.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_Regex - Fatal编程技术网

Php 需要正则表达式的帮助

Php 需要正则表达式的帮助,php,regex,Php,Regex,我想将邮件程序解析为字符串,该字符串可以由以下示例组成,这些示例用逗号(,)分隔: 名字 “名字” email@example.com 我想为每个元素创建一个数组,每个元素有两个子项:[name]和[email] 多年来,我一直在努力使用regexp。有人能帮我吗?如果您启用了imap扩展,它可能非常简单: var_dump(imap_rfc822_parse_adrlist('First name <email@example.com>, "first name" <

我想将邮件程序解析为字符串,该字符串可以由以下示例组成,这些示例用逗号(,)分隔:

名字
“名字”
email@example.com
我想为每个元素创建一个数组,每个元素有两个子项:[name]和[email]


多年来,我一直在努力使用regexp。有人能帮我吗?

如果您启用了imap扩展,它可能非常简单:

var_dump(imap_rfc822_parse_adrlist('First name <email@example.com>,
    "first name" <email@example.com>,
    <email@example.com>,
    email@example.com','_invalid_'));

为了简化regexp,您可以在循环中逐行分析它,然后每个regexp看起来像/([“\w\s]+)?\s?用于解析符合rfc822规范的电子邮件地址的正则表达式有点复杂+1@Buggabillregexp实际上不需要验证电子邮件地址,只需在主字符串中找到它,这并不特别困难
var_dump(imap_rfc822_parse_adrlist('First name <email@example.com>,
    "first name" <email@example.com>,
    <email@example.com>,
    email@example.com','_invalid_'));
array(4) {
  [0]=>
  object(stdClass)#1 (3) {
    ["mailbox"]=>
    string(5) "email"
    ["host"]=>
    string(11) "example.com"
    ["personal"]=>
    string(10) "First name"
  }
  [1]=>
  object(stdClass)#2 (3) {
    ["mailbox"]=>
    string(5) "email"
    ["host"]=>
    string(11) "example.com"
    ["personal"]=>
    string(10) "first name"
  }
  [2]=>
  object(stdClass)#3 (2) {
    ["mailbox"]=>
    string(5) "email"
    ["host"]=>
    string(11) "example.com"
  }
  [3]=>
  object(stdClass)#4 (2) {
    ["mailbox"]=>
    string(5) "email"
    ["host"]=>
    string(11) "example.com"
  }
}