array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.mb-encode-mimeheader.php', 1 => 'mb_encode_mimeheader', ), 'up' => array ( 0 => 'ref.mbstring.php', 1 => 'Функции для работы с многобайтовыми строками', ), 'prev' => array ( 0 => 'function.mb-detect-order.php', 1 => 'mb_detect_order', ), 'next' => array ( 0 => 'function.mb-encode-numericentity.php', 1 => 'mb_encode_numericentity', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/mbstring/functions/mb-encode-mimeheader.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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
Кодирует по схеме кодирования MIME-заголовка переданную
в параметр string
строку (string).
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>
Замечание:
Эта функция не рассчитана на выполнение высокоуровневых контекстуальных разрывов строк (перенос слов целиком и т. п.). Такое поведение может засорить исходную строку неожидаемыми пробелами.