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 строку (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>

Примечания

Замечание:

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

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