(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_encode_mimeheader — Encode une chaîne pour un en-tête MIME
$string
,$charset
= null
,$transfer_encoding
= null
,$newline
= "\r\n",$indent
= 0
Encode une chaîne de caractères string
donnée en un en-tête MIME.
string
La chaîne de caractères à encoder. Son encodage devrait être identique à mb_internal_encoding().
charset
charset
est le nom de l'encodage utilisé
par la chaîne string
. La valeur par défaut
est déterminée par les paramètres courants du NLS
(mbstring.language
).
transfer_encoding
transfer_encoding
est l'encodage de transfert. Il
peut être "B"
(Base64) ou
"Q"
(Quoted-Printable). Par défaut, c'est
"B"
.
newline
newline
spécifie les fins de lignes (EOF :
end-of-line
) utilisées par mb_encode_mimeheader()
pour formater la chaîne (une » RFC
définie la longueur d'une chaîne à partir de laquelle on doit ajouter
une fin de ligne. La longueur courante est 74 caractères). La valeur
par défaut est "\r\n"
(CRLF).
indent
Indentation de la première ligne (nombre de caractères dans l'en-tête
avant string
).
Une version convertie de la chaîne de caractères en ASCII.
Version | Description |
---|---|
8.0.0 |
charset et transfer_encoding
sont désormais nullable.
|
Exemple #1 Exemple avec mb_encode_mimeheader()
<?php
$name = "太郎"; // kanji
$mbox = "kru";
$doma = "gtinn.mon";
$addr = '"' . addcslashes(mb_encode_mimeheader($name, "UTF-7", "Q"), '"') . '" <' . $mbox . "@" . $doma . ">";
echo $addr;
?>
L'exemple ci-dessus va afficher :
"=?UTF-7?Q?+WSqQzg-?=" <kru@gtinn.mon>
Note:
Cette fonction n'est pas conçue pour couper les lignes en milieu de mots. Ce comportement peut ajouter des espaces non désirées dans un mot de la chaîne originale.