PHP - 过滤电子邮件正文,删除回复引用

dav*_*urg 11 php email piping

我正在制作一个电子邮件管道脚本,只需保存回复内容而不是原始引用的电子邮件.我正在使用mime解析器类(http://www.phpclasses.org/package/3169-PHP-Decode-MIME-e-mail-messages.html)从电子邮件中获取我需要的所有信息:

Message ID: AANLkTimYRxMJwjLSdcDP5ksM=xxx@mail.gmail.com
Reply ID: 20110316205225.xxx@example.com

Subject: Re: MessageX
To:  q1-1234567890@example.com
From: Someone someone@someothersite.com

Body: Hello,
Blah Blah Blah
-Someone

On Wed, Mar 16, 2011 at 3:52 PM,  <q1-1234567890@example.com> wrote:
> Hello,
>
> Some other blah, blah, blah.
>
> Thank you,
> Me
Run Code Online (Sandbox Code Playgroud)

在正文部分,我收到了原始引用的电子邮件.我怎样才能过滤掉这个?我知道电子邮件客户端经常在引用的内容旁边添加">",但我不确定这是否足够好.谢谢你的帮助.

mar*_*rio 9

这可能适用于正则表达式.尝试:

$text = preg_replace('#(^\w.+:\n)?(^>.*(\n|$))+#mi', "", $text);
Run Code Online (Sandbox Code Playgroud)

  • @davishmcclurg,`#`只是替代正则表达式分隔符.使用`#...*#`相当于`/...*/` (2认同)