= 4.0.6, PHP 5, PHP 7, PHP 8)mb_encode_mimeheader — 為 MIME 頭編碼字符串說明mb_encode_mimeheader( string $string, ?string $ch">

mb_encode_mimeheader

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_encode_mimeheader為 MIME 頭編碼字符串

說明

mb_encode_mimeheader(
    string $string,
    ?string $charset = null,
    ?string $transfer_encoding = null,
    string $newline = "\r\n",
    int $indent = 0
): string

按 MIME 頭編碼方案將指定的字符串 string 進行編碼。

參數(shù)

string

要編碼的 string。 它的編碼應該和 mb_internal_encoding() 一樣。

charset

charset 指定了 str 的字符集名。 其默認值由當前的 NLS 設置(mbstring.language)來確定。

transfer_encoding

transfer_encoding 指定了 MIME 的編碼方案。 它可以是 "B"(Base64)也可以是 "Q"(Quoted-Printable)。 如果未設置,將回退為 "B"。

newline

newline 指定了 EOL(行尾)標記,使 mb_encode_mimeheader() 執(zhí)行了一個換行(? RFC 文檔中規(guī)定,超過長度的一行將換成多行,當前該長度硬式編碼為 74 個字符)。 如果沒有設定,則回退為 "\r\n" (CRLF)。

indent

首行縮進(header 里 string 前的字符數(shù)目)。

返回值

轉換后的字符串版本以 ASCII 形式表達。

更新日志

版本 說明
8.0.0 charsettransfer_encoding 現(xiàn)在可以為空。

范例

示例 #1 mb_encode_mimeheader() 例子

<?php
$name 
"太郎"// kanji
$mbox "kru";
$doma "gtinn.mon";
$addr '"' addcslashes(mb_encode_mimeheader($name"UTF-7""Q"), '"') . '" <' $mbox "@" $doma ">";
echo 
$addr;
?>

以上例程會輸出:

"=?UTF-7?Q?+WSqQzg-?=" <kru@gtinn.mon>

注釋

注意:

這個函數(shù)沒有設計成據(jù)更高級上下文的中斷點來換行(單詞邊界等)。 這個特性將導致意外的空格可能會讓原始字符串看上去很亂。

參見