iconv_mime_decode_headers
(PHP 5)
iconv_mime_decode_headers — Décode des entêtes MIME multiples
Description
iconv_mime_decode_headers() décode les entêtes MIME multiples.
Liste de paramètres
- encoded_headers
-
Les entêtes encodés, sous la forme d'une chaîne de caractères.
- mode
-
mode détermine le comportement de la fonction, si iconv_mime_decode_headers() rencontre un entête MIME malformé.
Masques acceptés par la fonction iconv_mime_decode_headers() Valeur Constante Description 1 ICONV_MIME_DECODE_STRICT Si utilisés, les entê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'entê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'entête donné. - charset
-
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_encoding est utilisé.
Valeurs de retour
Retourne un tableau associatif qui contient les entê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'entê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.
Exemples
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() - Décode un champ d'en-tête MIME
- mb_decode_mimeheader() - Décode un en-tête MIME
- imap_mime_header_decode() - Décode les éléments MIME d'un en-tête
- imap_base64() - Décode un texte encodé en BASE64
- imap_qprint() - Convertit une chaîne à guillemets en une chaîne à 8 bits
iconv_mime_decode_headers
