iconv_mime_decode_headers 一次性解码多个 MIME 头字段

发表日期:2021-07-01 08:55:45 | 来源: | | 浏览(780) 分类:iconv 函数

iconv_mime_decode_headers

(PHP 5, PHP 7, PHP 8)

iconv_mime_decode_headers一次性解码多个 MIME 头字段

说明

iconv_mime_decode_headers(string $encoded_headers, int $mode = 0, string $charset = ini_get("iconv.internal_encoding")): array

一次性解码多个 MIME 头字段。

参数

encoded_headers

编码过的头,是一个字符串。

mode

mode 决定了 iconv_mime_decode_headers() 遇到畸形 MIME 头字段时的行为。 你可以指定为以下位掩码的任意组合。

iconv_mime_decode_headers() 接受的位掩码
常量 描述
1 ICONV_MIME_DECODE_STRICT 如果设置了,给定的头将会以 » RFC2047 定义的标准完全一致。 这个选项默认禁用,因为大量有问题的邮件用户代理不遵循标准并产生不正确的 MIME 头。
2 ICONV_MIME_DECODE_CONTINUE_ON_ERROR 如果设置了,iconv_mime_decode_headers() 尝试忽略任何语法错误并继续处理指定的头。

charset

可选参数 charset 指定了字符集结果的表现。 如果省略了,将使用 iconv.internal_encoding。

返回值

成功时返回 encoded_headers 指定的 MIME 头的整套关联数组,解码时出现错误则返回 false

返回元素的每个键代表独立字段名,相应的元素代表一个字段值。 如果有多个同一名称的字段, iconv_mime_decode_headers() 自动将他们按出现顺序结合成数字索引的数组。

范例

示例 #1 iconv_mime_decode_headers() 例子

<?php 
$headers_string = <<<EOFSubject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=To: example@example.comDate: Thu, 1 Jan 1970 00:00:00 +0000Message-Id: <example@example.com>Received: from localhost (localhost [127.0.0.1]) by localhost    with SMTP id example for <example@example.com>;
    Thu, 1 Jan 1970 00:00:00 +0000 (UTC)    (envelope-from example-return-0000-example=example.com@example.com)Received: (qmail 0 invoked by uid 65534);
 1 Thu 2003 00:00:00 +0000EOF;
$headers =  iconv_mime_decode_headers($headers_string, 0, "ISO-8859-1");
print_r($headers);
?>

以上例程会输出:

Array
(
    [Subject] => Prüfung Prüfung
    [To] => example@example.com
    [Date] => Thu, 1 Jan 1970 00:00:00 +0000
    [Message-Id] => <example@example.com>
    [Received] => Array
        (
            [0] => from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)
            [1] => (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000
        )

)

参见

  • iconv_mime_decode() - 解码一个MIME头字段
  • mb_decode_mimeheader() - 解码 MIME 头字段中的字符串
  • imap_mime_header_decode() - Decode MIME header elements
  • imap_base64() - Decode BASE64 encoded text
  • imap_qprint() - Convert a quoted-printable string to an 8 bit string

集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。