在 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 ) )
相關用法
- PHP iconv_mime_decode()用法及代碼示例
- PHP iconv_mime_encode()用法及代碼示例
- PHP iconv_strlen()用法及代碼示例
- PHP iconv_substr()用法及代碼示例
- PHP iconv_set_encoding()用法及代碼示例
- PHP iconv_get_encoding()用法及代碼示例
- PHP iconv()用法及代碼示例
- PHP is_file( )用法及代碼示例
- PHP imagegif()用法及代碼示例
- PHP imageresolution()用法及代碼示例
- PHP imagebmp()用法及代碼示例
- PHP is_link( )用法及代碼示例
- PHP imap_getsubscribed()用法及代碼示例
- PHP is_link()用法及代碼示例
- PHP imagearc()用法及代碼示例
- PHP imageftbbox()用法及代碼示例
- PHP idate()用法及代碼示例
- PHP imagecreatefromgif()用法及代碼示例
- PHP imagecreatefrombmp()用法及代碼示例
- PHP imap_header()用法及代碼示例
注:本文由純淨天空篩選整理自Urmila Samariya大神的英文原創作品 PHP – Decode multiple MIME header fields at once using iconv_mime_decode_headers()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。