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, National Language Setting), которую устанавливает директива mbstring.language.

transfer_encoding

Параметр transfer_encoding определяет схему MIME-кодирования. Параметр принимает либо значение «B», которое указывает кодировку Base64, либо значение «Q», которое указывает кодировку Quoted-Printable. Значение по умолчанию равно «B».

newline

Параметр newline определяет EOL-метку конца строки (англ. end-of-line), которой функция mb_encode_mimeheader() переносит строки (англ. line-folding). Line-folding — термин стандарта » RFC 2822, который означает разбиение строки, длина которой превышает конкретную величину, на несколько строк. Длину разбиения строки жёстко закодировали и установили значение в 74 символа. Значение по умолчанию определили последовательностью символов «\r\n», или CRLF.

indent

Отступ первой строки — количество символов в заголовке перед параметром string.

Возвращаемые значения

Функция возвращает версию строки (string), которую преобразовала в ASCII-представление.

Список изменений

Версия Описание
8.3.0 NUL-байты больше не отбрасываются при кодировании строк по правилам синтаксиса QP-кодировки (англ. Quoted-Printable), а кодируются как =00. Нулевой байт — байт со значением 0, который в наборах символов назначают нулевой кодовой точке.
8.0.0 Параметры charset и transfer_encoding теперь принимают значение null.

Примеры

Пример #1 Пример кодировки строки для заголовка MIME функцией 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>

Примечания

Замечание:

Функция не переносит строки в высокоуровневых точках разрыва строк на основе контекста наподобие границ слов и аналогичных. Такое поведение иногда загромождает исходную строку неожиданными пробелами.

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