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 = <<<EOF
Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=
To: [email protected]
Date: Thu, 1 Jan 1970 00:00:00 +0000
Message-Id: <[email protected]>
Received: from localhost (localhost [127.0.0.1]) by localhost
with SMTP id example for <[email protected]>;
Thu, 1 Jan 1970 00:00:00 +0000 (UTC)
(envelope-from [email protected])
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);
?>
以上例程會輸出:
Array ( [Subject] => Prüfung Prüfung [To] => [email protected] [Date] => Thu, 1 Jan 1970 00:00:00 +0000 [Message-Id] => <[email protected]> [Received] => Array ( [0] => from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <[email protected]>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from [email protected]) [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