首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iconv_mime_decode_headers

(PHP 5, PHP 7)

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

描述

代码语言:javascript
复制
array iconv_mime_decode_headers ( string $encoded_headers [, int $mode = 0 [, string $charset = ini_get("iconv.internal_encoding") ]] )

一次解码多个MIME头字段。

参数

encoded_headers

编码的标题,作为一个字符串。

mode

mode确定事件中的行为iconv_mime_decode_headers()遇到格式错误的MIME头字段。您可以指定以下位掩码的任意组合。

不变

描述

1

ICONV_MIME_DECODE_STRICT

如果设置,则给定的报头将完全符合»RFC2047中定义的标准。此选项在默认情况下处于禁用状态,因为存在大量不符合规范且不会生成正确MIME标头的中断邮件用户代理。

2

ICONV_MIME_DECODE_CONTINUE_ON_ERROR

如果设置,iconv_mime_decode_headers()会尝试忽略任何语法错误并继续处理给定的标题。

charset

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

返回值

返回一个关联数组,该数组包含成功指定的整组MIME头字段encoded_headers,或者FALSE在解码过程中发生错误。

返回值的每个键表示一个单独的字段名称,相应的元素表示一个字段值。如果存在多个相同名称的字段,iconv_mime_decode_headers()将按照出现顺序自动将它们合并到数字索引数组中。

示例

Example #1 iconv_mime_decode_headers() example

代码语言:javascript
复制
<?php
$headers_string = <<<EOF
Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=
To: example@example.com
Date: Thu, 1 Jan 1970 00:00:00 +0000
Message-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 +0000

EOF;

$headers =  iconv_mime_decode_headers($headers_string, 0, "ISO-8859-1");
print_r($headers);
?>

上面的例子将输出:

代码语言:javascript
复制
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() - 解码MIME标题元素
  • imap_base64() - 解码BASE64编码的文本
  • imap_qprint() - 将带引号的可打印字符串转换为8位字符串

← iconv_get_encoding

iconv_mime_decode →

扫码关注腾讯云开发者

领取腾讯云代金券