iconv_mime_encode

(PHP 5, PHP 7, PHP 8)

iconv_mime_encodeСоздаёт поле MIME-заголовка

Описание

iconv_mime_encode(string $field_name, string $field_value, array $options = []): string|false

Создаёт и возвращает корректное поле MIME-заголовка в виде строки вида:

Subject: =?ISO-8859-1?Q?Pr=FCfung_f=FCr?= Entwerfen von einer MIME kopfzeile
В примере выше "Subject" является именем поля, а часть строки, начиная с "=?ISO-8859-1?..." - его значение.

Список параметров

field_name

Имя поля.

field_value

Значение поля.

options

Есть возможность контролировать поведение функции iconv_mime_encode() посредством передачи массива с настройками в качестве третьего аргумента options. Возможные значения этого массива, поддерживаемые функцией iconv_mime_encode(), перечислены ниже. Обратите внимание, что имена элементов чувствительны к регистру символов.

Настройки, поддерживаемые в iconv_mime_encode()
Элемент Тип Описание Значение по умолчанию Пример
scheme string Задаёт, каким образом закодировать значение поля. Значением этого элемента может быть либо "B", либо "Q". "B" означает схему кодирования base64, а "Q" - quoted-printable. B B
input-charset string Задаёт, в какой кодировке представлены аргументы field_name и field_value. Если не задан, iconv_mime_encode() предполагает, что набор символов указан в ini-настройке iconv.internal_encoding. iconv.internal_encoding ISO-8859-1
output-charset string Задаёт набор символов, в котором будет представлен результирующий MIME-заголовок. iconv.internal_encoding UTF-8
line-length int Устанавливает максимальную длину строк заголовка. Если результирующий заголовок окажется длиннее этой величины, функция его разрежет на несколько строк в соответствии с » Форматом интернет сообщений - RFC2822. Если не задан, эта длина будет установлена 76 символов. 76 996
line-break-chars string Задаёт последовательность символов, которые будут использоваться для завершения "разрезанных" строк заголовка, если заголовок окажется длиннее одной строки. Если не задан, будут использоваться символы "\r\n" (CR LF). Обратите внимание, что этот аргумент всегда обрабатывается как строка ASCII вне зависимости от значения input-charset. \r\n \n

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

Возвращает закодированное MIME-поле в случае успешного выполнения или false в случае возникновения ошибки.

Примеры

Пример #1 Пример использования iconv_mime_encode()

<?php
$preferences
= array(
"input-charset" => "ISO-8859-1",
"output-charset" => "UTF-8",
"line-length" => 76,
"line-break-chars" => "\n"
);
$preferences["scheme"] = "Q";
// Результат "Subject: =?UTF-8?Q?Pr=C3=BCfung=20Pr=C3=BCfung?="
echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);

$preferences["scheme"] = "B";
// Результат "Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?="
echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);
?>

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

  • imap_binary() - Конвертирует 8-битную строку в строку base64
  • mb_encode_mimeheader() - Кодирует строку для MIME-заголовка
  • imap_8bit() - Конвертирует 8-битную строку в строку в формате quoted-printable
  • quoted_printable_encode() - Преобразовывает 8-битную строку методом quoted-printable