我有这个字符串
> Begin forwarded message:
>
> From: "Gardner, Sharon" <some@email.com>
> Date: 10 November 2015 at 21:10:25 GMT
> *Originla message text*
我需要从中捕获电子邮件,姓名和日期
试过这个:
preg_match('/\<(.*)\>/', $this->inbound->TextBody(), $email);
preg_match('/From: "(.*)"/', $this->inbound->TextBody(), $name);
preg_match('/Date: (.*)\n/', $this->inbound->TextBody(), $name)
这可以胜任,但我不确定这是否可靠?
答案 0 :(得分:1)
如果您可以进行简单的字符串处理,那么最好完全忽略正则表达式 。电子邮件是notoriously hard,可以为。
创建正则表达式到目前为止,如果您有一致的模式,看起来您可以找到From:
和Date:
的行,并适当地解析其余部分。 PHP有decent set of functions来分割和操作字符串,所以先试试。