(PHP 5, PHP 7, PHP 8)
iconv_mime_decode_headers — Decodifica vários campos de cabeçalho MIME
de uma só vez
Decodifica vários campos de cabeçalho MIME
de uma só vez.
headers
Os cabeçalhos codificados como uma string.
mode
mode
determina o comportamento no caso de iconv_mime_decode_headers() encontrar um campo de cabeçalho MIME
malformado. Você pode especificar qualquer combinação das seguintes máscaras de bits.
Valor | Constante | Descrição |
---|---|---|
1 | ICONV_MIME_DECODE_STRICT | Se definido, o cabeçalho fornecido é decodificado em total conformidade com os padrões definidos em » RFC2047. Esta opção está desativada por padrão porque há muitos agentes de usuário de e-mail quebrados que não seguem a especificação e não produzem cabeçalhos MIME corretos. |
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | Se definido, iconv_mime_decode_headers() tenta ignorar quaisquer erros gramaticais e continuar a processar um determinado cabeçalho. |
encoding
O parâmetro opcional encoding
especifica o conjunto de caracteres pelo qual representar o resultado. Se omitido ou null
, iconv.internal_encoding será usado.
Retorna uma matriz associativa que contém todo um conjunto de campos de cabeçalho MIME
especificados por headers
em caso de sucesso ou false
se ocorrer um erro durante a decodificação.
Cada chave do valor de retorno representa um nome de campo individual e o elemento correspondente representa um valor de campo. Se mais de um campo com o mesmo nome estiver presente, iconv_mime_decode_headers() os incorporará automaticamente em uma matriz indexada numericamente na ordem de ocorrência. Observe que os nomes de cabeçalhos não são case-insensitive.
Versão | Descrição |
---|---|
8.0.0 | encoding é anulável agora. |
Exemplo #1 Exemplo 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);
?>
O exemplo acima produzirá:
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 ) )