将电子邮件标题转换为HTML格式

时间:2014-08-02 01:39:43

标签: php email encoding character-encoding iso-8859-1

我有一个PHP脚本,它将电子邮件发送到我的support@example.com地址并将其插入我的票证系统(或更新)。

我试图处理我在主题行中遇到的一些特殊字符。以下是"原始标题"电子邮件

Subject: [Ticket ID: 2648] =?ISO-8859-1?Q?test=CCng_6?=

但这就是Gmail显示的主题(正确)[Ticket ID: 2648] testÌng 6

如何在PHP中解码?

(我的问题是,我在电子邮件正文中总结了他们的票证,并在主题中显示。电子邮件中显示的主题文字显示为Subject: =?ISO-8859-1?Q?test=CCng_6?=。它是' s也作为=?ISO-8859-1?Q?test=CCng_6?=存储在我的数据库中。)

1 个答案:

答案 0 :(得分:1)

此代码:

<?php
$subject = "=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@example.com>";
echo mb_decode_mimeheader($subject)."\n";
?>

返回:Keld_Jørn_Simonsen&lt; keld@example.com>

最后你必须删除下划线

<?php
$text = '=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@example.com>';
echo str_replace('_', '', mb_decode_mimeheader($text)."\n");
?>