用正则表达式帮助

时间:2010-08-04 15:04:10

标签: php regex

我想解析一个mailer to-string,它可以包含以逗号(,)分隔的以下示例:

First name <email@example.com>
"first name" <email@example.com>
<email@example.com>
email@example.com

我想为每个元素创建一个带有两个子条目的条目的数组:[name]和[email]。

我一直在努力争取(看起来像)年龄的正则表达式。有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

如果您启用了imap扩展程序,则可能很简单:

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"
  }
}