array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.iconv-mime-decode-headers.php', 1 => 'iconv_mime_decode_headers', ), 'up' => array ( 0 => 'ref.iconv.php', 1 => 'iconv Funções', ), 'prev' => array ( 0 => 'function.iconv-get-encoding.php', 1 => 'iconv_get_encoding', ), 'next' => array ( 0 => 'function.iconv-mime-decode.php', 1 => 'iconv_mime_decode', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/iconv/functions/iconv-mime-decode-headers.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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 ) )