如何解码主题行

问题描述 投票:1回答:5

我收到了一封电子邮件,其主题是今日最后一天☛你最喜爱的品牌额外32%的折扣,但当我调查它的标题主题行看起来像 -

Subject: =?utf-8?Q?Last=20Day=20Today=E2=98=9B=20An=20Additional=2032%=20Off=20Your=20?=
=?utf-8?Q?Favourite=20Brands.?=

如果我使用imap_headerinfo()获取主题的值,那么我该如何解码这个值。

php imap
5个回答
3
投票

你也可以尝试mb_decode_mimeheader();这可能适合你。


3
投票

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


1
投票

试试imap_mime_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.?='));

Output

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.
        )

)

0
投票

在字符串上使用imap_mime_header_decode()。


0
投票

iconv_mime_decode() - 解码MIME头字段

© www.soinside.com 2019 - 2024. All rights reserved.