Description
array
iconv_mime_decode_headers ( string encoded_headers [, int mode [, string charset]] )
iconv_mime_decode_headers() retourne un tableau
associatif qui contient les en-têtes MIME spécifiés
par le paramètre encoded_headers, ou bien FALSE
si une erreur survient durant le décodage.
Chaque clé du tableau retourné contient un nom d'en-tête distinct,
et sa valeur correspondante. Si plusieurs champs ont le même nom,
iconv_mime_decode_headers() fera de ce champ un
tableau indexé, avec les valeurs dans leur ordre d'apparence.
mode détermine le comportement de la fonction,
si iconv_mime_decode_headers() rencontre un
en-tête MIME malformé. Vous pouvez spécifier une
combinaison des options suivantes :
Tableau 1. Options de iconv_mime_decode_headers()
| Valeur | Constante | Description |
|---|
| 1 | ICONV_MIME_DECODE_STRICT |
Si utilisés, les en-têtes sont décodés en respectant scrupuleusement
le standard de la RFC2047.
Cette option est désactivée par défaut, car il y a de nombreux clients
mails qui ne suivent pas ces spécifications et qui ne produisent pas
d'en-têtes MIME corrects.
|
| 2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR |
Si cette option est activée, iconv_mime_decode_headers()
tente d'ignorer les erreurs de syntaxe et continue de traiter l'en-tête
donné.
|
Le paramètre optionnel charset spécifie le
jeu de caractères utilisé pour représenter le résultat.
S'il est omis, le jeu définit dans le fichier php.ini
iconv.internal_charset
est utilisé.
Exemple 1. Exemple avec iconv_mime_decode_headers()
<?php $headers_string = <<<EOF Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?= To: example@example.com Date: Thu, 1 Jan 1970 00:00:00 +0000 Message-Id: <example@example.com> Received: from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com> Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com) Received: (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000
EOF;
$headers = iconv_mime_decode_headers($headers_string, 0, "ISO-8859-1"); print_r($headers); ?>
|
L'exemple ci-dessus va afficher : Array
(
[Subject] => Prüfung Prüfung
[To] => example@example.com
[Date] => Thu, 1 Jan 1970 00:00:00 +0000
[Message-Id] => <example@example.com>
[Received] => Array
(
[0] => from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)
[1] => (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000
)
) |
|
Voir aussi
iconv_mime_decode(),
mb_decode_mimeheader(),
imap_mime_header_decode(),
imap_base64() et
imap_qprint().