2

如何让解析电子邮件仅显示日期,例如 Date: Tue, 01 May 2012 10:38:13 而不是下面的示例

日期:2012 年 5 月 1 日星期二 10:38:13 -0400 主题:示例电子邮件发件人:用户收件人:用户消息 ID:线程主题:示例电子邮件线程索引:Ac0nqAlw+FJmG2FhRUuM8nhAxVUpjA== Mime-version :1.0 内容类型:多部分/替代;边界=\"B_3418713494_2606128\" >

$date2 = substr($email, strripos($email,"Date:")+strlen("Date:"));
$date = explode("Delivered To:", $date2);
echo "<br /><br /> Date: " . $date[0];
4

3 回答 3

1

如果您信任以下内容Date:,则Subject:可以作为正则表达式解决方案的替代方案(以及因此产生的开销)。

$pos = strpos('Subject:', $mail_header);
if ($pos !== false) {
  $date = substr($mail_header, 0, $pos);
  echo $date;
}
于 2012-05-01T18:09:34.657 回答
0

如果我不明白你想要什么,以下应该可以工作 - 改变

echo "<br /><br /> Date: " . $date[0];

echo "<br /><br /> Date: " . date( "D, d M Y g:i:s", strtotime( $date[0] ) );

手动参考:date()strtotime()

于 2012-05-01T18:19:59.773 回答
0

日期时间类!

注意:(PHP 5 >= 5.2.0)

由于给定的日期格式是标准的不变长度,您还可以使用 substr 来解析字符串:

$date = date_create(
    substr($email,6,25)
);

echo $date->format('D, d M Y g:i:s'); //or any valid format you want
于 2012-05-01T18:58:11.960 回答