當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。