我有一个保存在文件中的电子邮件
Date: Wed, 9 Apr 2014 14:33:11 +0000
Return-Path: x.com
To: personsEamilAddress@email.com
From: x
Subject: Hello world
Message-ID: <x>
X-Priority: 3
X-Mailer: PHPMailer 5.1 (phpmailer.sourceforge.net)
Sender: senderEmail@mail.com
MIME-Version: 1.0
Content-Type: text/html; charset="iso-8859-1"
X-SES-Outgoing: 2014.04.09-54.240.8.56
Content-Transfer-Encoding: quoted-printable
我想弄清楚电子邮件发送给谁?即 personsEamilAddress@email.com
我已经尝试了
preg_match_all('/To: (.*?)/', $subject, $result, PREG_SET_ORDER);
print_r($result);
但打印出来的数组并不包含电子邮件地址的值。
Array
(
[0] => Array
(
[0] => To:
[1] =>
)
[1] => Array
(
[0] => To:
[1] =>
)
)
答案 0 :(得分:0)
您的问题是搜索组中的?
。
此外,最后的s
修饰符让您选择.
包含换行符和空格的所有内容。
解决方案因此是:
%^To: (.*)%m
m
修饰符会导致^
和$
匹配每行的开头/结尾(不仅是字符串的开头/结尾)
答案 1 :(得分:0)
您是否尝试过:
preg_match_all('/To: (.*)?/', $subject, $result, PREG_SET_ORDER);
print_r($result);
它应该返回:
Array
(
[0] => Array
(
[0] => To: personsEmailAddress@email.com
[1] => personsEmailAddress@email.com
)
)