(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_encode_mimeheader — Encode string for MIME header
$string
,$charset
= null
,$transfer_encoding
= null
,$newline
= "\r\n",$indent
= 0 Encodes a given stringstring
by the MIME header encoding scheme.
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
).
A converted version of the string represented in ASCII.
Version | Beschreibung |
---|---|
8.0.0 | charset and transfer_encoding are nullable now. |
Beispiel #1 mb_encode_mimeheader() example
<?php
$name = "太郎"; // kanji
$mbox = "kru";
$doma = "gtinn.mon";
$addr = '"' . addcslashes(mb_encode_mimeheader($name, "UTF-7", "Q"), '"') . '" <' . $mbox . "@" . $doma . ">";
echo $addr;
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
"=?UTF-7?Q?+WSqQzg-?=" <kru@gtinn.mon>
Hinweis:
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.