iconv_mime_decode_headers

(PHP 5)

iconv_mime_decode_headers — Décode des en-têtes MIME multiples

Description

array iconv_mime_decode_headers ( string $encoded_headers [, int $mode [, string $charset]] )

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.

Liste de paramètres

encoded_headers

Les en-tê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 en-tête MIME malformé.

Tableau 130. Masques acceptables pour la fonction iconv_mime_decode_headers()

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é.
Valeur Constante Description


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é.

Exemples

Exemple 1113. 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()imap_qprint()