我收到了一封电子邮件,其主题是今日最后一天☛你最喜爱的品牌额外32%的折扣,但当我调查它的标题主题行看起来像 -
Subject: =?utf-8?Q?Last=20Day=20Today=E2=98=9B=20An=20Additional=2032%=20Off=20Your=20?=
=?utf-8?Q?Favourite=20Brands.?=
如果我使用imap_headerinfo()获取主题的值,那么我该如何解码这个值。
你也可以尝试mb_decode_mimeheader();这可能适合你。
imap_mime_header_decode
将为你工作,即
<?php
$text = "=?utf-8?Q?Last=20Day=20Today=E2=98=9B=20An=20Additional=2032%=20Off=20Your=20?=
=?utf-8?Q?Favourite=20Brands.?=";
$elements = imap_mime_header_decode($text);
var_dump($elements); //will print array values for you
这里有更详细的PHP IMAP Header decode
<?php
print_r(imap_mime_header_decode('=?utf-8?Q?Last=20Day=20Today=E2=98=9B=20An=20Additional=2032%=20Off=20Your=20?=
=?utf-8?Q?Favourite=20Brands.?='));
Array
(
[0] => stdClass Object
(
[charset] => utf-8
[text] => Last Day Today☛ An Additional 32% Off Your
)
[1] => stdClass Object
(
[charset] => utf-8
[text] => Favourite Brands.
)
)
在字符串上使用imap_mime_header_decode()。
iconv_mime_decode() - 解码MIME头字段