当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP iconv_mime_decode_headers()用法及代码示例


在 PHP 中,iconv_mime_decode_headers()函数用于一次解码多个 MIME 头字段。它是 PHP 中的内置函数。

用法

iconv_mime_decode_headers($str_headers, $int_mode, $str_encoding)

参数

这个iconv_mime_decode_headers()函数接受三个不同的参数 -$headers$mode$encoding

  • $headers −$header 参数用于编码的标头。它是一个字符串类型参数。

  • $mode −$mode 参数决定事件中的行为iconv_mime_decode_headers()遇到变形的 MIME 标头字段。我们可以使用以下位掩码的任意组合。

  • List of bitmasks acceptable to iconv_mime_decode_headers()

    • ICONV_MIME_DECODE_STRICT
    • ICONV_MIME_DECODE_CONTINUE_ON_ERROR
    • ICONV_MIME_DECODE_STRICT -  如果iconv_mime_decode_strict设置后,给定的标头以完全一致的方式解码,但默认情况下禁用此选项,因为许多损坏的邮件用户代理不符合要求并且不生成正确的 MIME 标头。
    • ICONV_MIME_DECODE_CONTINUE_ON_ERROR - 如果iconv_mime_decode_continue_on_error()参数设置后,它会尝试忽略任何语法错误并继续处理给定的标头。
  • $encoding − encoding 是一个可选参数,用于指定表示结果的字符集。如果省略或为空,将使用 iconv.internal_encoding。

返回值

这个iconv_mime_decode_headers()函数返回一个关联数组,其中包含成功时标头指定的一整套 MIME 标头字段,或者如果在解码过程中出现任何错误,则返回 False。

例子1

<pre>
   <?php
      $str_headers = <<<EOF
      Subject:=?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=
      To:xyz@example.com
      Date:Mon, 21 Jun 2021 00:00:00 +0000
      Message-Id:<xyz@example.com>
      Received:from localhost (localhost [127.0.0.1]) by localhost
         with SMTP id xyz for <xyz@example.com>;
         Mon, 21 Jun 2021 00:00:00 +0000 (UTC)
         (envelope-from example-return-0000-xyz=xyz.com@example.com)
      Received:(qmail 0 invoked by uid 65534); 21 Mon 2005 00:00:00 +0000
      EOF;
      $headers = iconv_mime_decode_headers($str_headers, 0, "ISO-8859-1");
      print_r($headers);
   ?>
</pre>

输出

Array
(
   [Subject] => Pr�fung Pr�fung
   [To] => xyz@example.com
   [Date] => Mon, 21 Jun 2021 00:00:00 +0000
   [Message-Id] =>
   [Received] => Array
      (
         [0] => from localhost (localhost [127.0.0.1]) by localhost with SMTP id xyz for ; Mon, 21 Jun 2021 00:00:00 +0000 (UTC) (envelope-from example-return-0000-xyz=xyz.com@example.com)
         [1] => (qmail 0 invoked by uid 65534); 21 Mon 2005 00:00:00 +0000
      )
)

相关用法


注:本文由纯净天空筛选整理自Urmila Samariya大神的英文原创作品 PHP – Decode multiple MIME header fields at once using iconv_mime_decode_headers()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。