php8.5
Home/ Manual/ mbstring / functions/ mb_encode_mimeheader

mb_encode_mimeheader

PHP function Edit on GitHub ✎

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

Encode string for MIME header

Description

mb_encode_mimeheader(string $string, string|null $charset = null, string|null $transfer_encoding = null, string $newline = "\r\n", int $indent = 0): string

Encodes a given string string by the MIME header encoding scheme.

Parameters

string

The string being encoded. Its encoding should be same as mb_internal_encoding().

charset

charset specifies the name of the character set in which string is represented in. The default value is determined by the current NLS setting (mbstring.language).

transfer_encoding

transfer_encoding specifies the scheme of MIME encoding. It should be either "B" (Base64) or "Q" (Quoted-Printable). Falls back to "B" if not given.

newline

newline specifies the EOL (end-of-line) marker with which mb_encode_mimeheader() performs line-folding (a RFC term, the act of breaking a line longer than a certain length into multiple lines. The length is currently hard-coded to 74 characters). Falls back to "\r\n" (CRLF) if not given.

indent

Indentation of the first line (number of characters in the header before string).

Return Values

A converted version of the string represented in ASCII.

Changelog

VersionDescription
8.3.0NUL (0) bytes are no longer dropped when encoded using Quoted-Printable encoding, but encoded as =00.
8.0.0charset and transfer_encoding are nullable now.

Examples

mb_encode_mimeheader() example

php
<?php
$name = "太郎"; // kanji
$mbox = "kru";
$doma = "gtinn.mon";
$addr = '"' . addcslashes(mb_encode_mimeheader($name, "UTF-7", "Q"), '"') . '" <' . $mbox . "@" . $doma . ">";
echo $addr;
?>

The above example will output:

output
"=?UTF-7?Q?+WSqQzg-?=" <kru@gtinn.mon>

Notes

Note

This function isn't designed to break lines at higher-level contextual break points (word boundaries, etc.). This behaviour may clutter up the original string with unexpected spaces.

See Also

Source: reference/mbstring/functions/mb-encode-mimeheader.xml · from the official PHP manual (php/doc-en)