(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_encode_mimeheader — Кодирует строку для MIME-заголовка
$string
,$charset
= null
,$transfer_encoding
= null
,$newline
= "\r\n",$indent
= 0
Кодирует строку (string
) (string)
по схеме кодирования MIME-заголовка.
string
Кодируемая строка типа string. Её кодировка должна соответствовать mb_internal_encoding().
charset
charset
задаёт имя кодировки, в котором
представлена строка string
. По умолчанию значение
определяется настройкой NLS (mbstring.language
).
transfer_encoding
transfer_encoding
задаёт схему MIME-кодирования.
Это может быть либо "B"
(Base64), либо
"Q"
(Quoted-Printable). По умолчанию
"B"
.
newline
newline
задаёт метку EOL (конец строки,
end-of-line), с помощью которой mb_encode_mimeheader()
осуществляет завершение строк ("line-folding" - термин » RFC,
означающий разделение строк, длина которых превышает заданное значение.
Значение длины на данный момент жёстко задано как 74 символа).
По умолчанию "\r\n"
(CRLF).
indent
Отступ первой строки (число символов в заголовке перед string
).
Конвертированная строка (string), преобразованная в ASCII.
Версия | Описание |
---|---|
8.0.0 |
charset и transfer_encoding
теперь допускают значение null.
|
Пример #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>
Замечание:
Эта функция не рассчитана на выполнение высокоуровневых разрывов строк (перенос слов целиком и т.п.). Такое поведение может привести к появлению неожидаемых пробелов в исходной строке.