如何使用PHP删除回复邮件中的原始电子邮件?

时间:2015-03-08 14:55:07

标签: php string replace

我正在使用PHP从POP3服务器获取电子邮件。但是,有些电子邮件还包含我发送给他们的原始邮件。

如何删除原始邮件,因此PHP脚本只会收到回复邮件?

例如:

从A发送到B的电子邮件

A
11:08 PM (1 minute ago)

to B 
how are you?

电子邮件从B回复到

11:08 PM (0 minutes ago)

to A 
I am fine

> On Sun, Mar 8, 2015 at 11:08 PM, Ryan Ho <ryan@incube.com.hk> wrote:
>  how are you?

我想删除那些措辞&#34;在3月8日星期四,....你是怎么做的?&#34;

感谢。

1 个答案:

答案 0 :(得分:0)

首先,您可以将电子邮件保存在文件中,然后可以使用正则表达式删除以&gt; 开头的所有行。 这是因为原始邮件中的所有行都以符号>开头,包括文本: On Sun,Mar 8,...写道:你好吗?

这是代码:

<?php
$filename="email-full.txt";
$outfile="email-noreply.txt";
$string = file_get_contents($filename);
$array = explode("\n",$string);
foreach($array as $arr) {
            if(!(preg_match("/^>/",$arr))) {
                            $output[] = $arr;
            }
}

$out = implode("\n",$output);
file_put_contents($outfile,$out);
?>