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

Кодирует строку (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>

Примечания

Замечание:

Эта функция не рассчитана на выполнение высокоуровневых разрывов строк (перенос слов целиком и т.п.). Такое поведение может привести к появлению неожидаемых пробелов в исходной строке.

Смотрите также