Manual do PHP
Anterior |  | Próxima

# iconv_mime_decode_headers

(PHP 5)

iconv_mime_decode_headers -- Decodes multiple `MIME` header fields at once

## Descrição

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

Returns an associative array that holds a whole set of `MIME` header fields specified by `encoded_headers` on success, or `FALSE` if an error occurs during the decoding.

Each key of the return value represents an individual field name and the corresponding element represents a field value. If more than one field of the same name are present, iconv_mime_decode_headers() automatically incorporates them into a numerically indexed array in the order of occurrence.

## Parâmetros

`encoded_headers`

  The encoded headers, as a string.

`mode`

  `mode` determines the behaviour in the event iconv_mime_decode_headers() encounters a malformed `MIME` header field. You can specify any combination of the following bitmasks.

  Tabela 1. Bitmasks acceptable to iconv_mime_decode_headers()

  Value | Constant | Description
  --- | --- | ---
  1 | ICONV_MIME_DECODE_STRICT | If set, the given header is decoded in full conformance with the standards defined in RFC2047. This option is disabled by default because there are a lot of broken mail user agents that don't follow the specification and don't produce correct `MIME` headers.
  2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | If set, iconv_mime_decode_headers() attempts to ignore any grammatical errors and continue to process a given header.

`charset`

  The optional `charset` parameter specifies the character set to represent the result by. If omitted, iconv.internal_encoding will be used.

## Exemplos

Exemplo 1. iconv_mime_decode_headers() example
`<?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); ?>`
O exemplo acima irá imprimir:
    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
            )

    )

## Veja também

iconv_mime_decode()
mb_decode_mimeheader()
imap_mime_header_decode()
imap_base64()
imap_qprint()

Anterior | Principal | Próxima
iconv_get_encoding | Acima | iconv_mime_decode