mb_encode_mimeheader
(PHP 4 >= 4.0.6, PHP 5, PHP 7)
mb_encode_mimeheader — MIMEヘッダの文字列をエンコードする
説明
mb_encode_mimeheader
( string $str
[, string $charset
= mb_language() によって決まる値
[, string $transfer_encoding
= "B"
[, string $linefeed
= "\r\n"
[, int $indent
= 0
]]]] ) : string
MIME ヘッダエンコーディング方式によって文字列 str
をエンコードします。
パラメータ
str
- エンコードする文字列。 mb_internal_encoding() と同じエンコーディングにしなければいけません。
charset
charset
は、str
の変換後の文字セット名です。デフォルトは、現在の NLS 設定 (mbstring.language
) によって決まります。transfer_encoding
transfer_encoding
は MIME エンコーディングの 方式を指定します。"B"
(Base64) または"Q"
(Quoted-Printable) のどちらかでなければなりません。 デフォルトは"B"
です。linefeed
linefeed
は EOL (行末) のマーカで、 mb_encode_mimeheader() が行を折りたたむ (» RFC 用語で、 ある一定より長い行を複数行に分割することを言います。 分割する長さは、現在 74 文字に固定されています) 際に利用します。 デフォルトは"\r\n"
(CRLF) です。indent
- 最初の行の字下げ (ヘッダで
str
の前におく文字数)。
返り値
文字列を ASCII 表現に変換したものを返します。
例
例1 mb_encode_mimeheader() の例
<?php$name = "太郎"; // 漢字$mbox = "kru";$doma = "gtinn.mon";$addr = mb_encode_mimeheader($name, "UTF-7", "Q") . " <" . $mbox . "@" . $doma . ">";echo $addr;?>
注意
注意:
この関数は、行を分割する際に特別な配慮(単語の区切りなど)を行いません。 このせいで、もとの文字列に予期せぬ空白が入ってしまう可能性があります。