iconv_mime_decode_headers
(PHP 5)
iconv_mime_decode_headers — Decodifica varios campos de cabeceras MIME en la misma llamada
Descripción
$encoded_headers
[, int $mode = 0
[, string $charset = ini_get("iconv.internal_encoding")
]] )Decodifica varios campos de cabeceras MIME en la misma llamada.
Parámetros
-
encoded_headers -
La cabeceras a decodificar, indicarlas como string.
-
mode -
modedetermina el comportamiento cuando el evento iconv_mime_decode_headers() encuentra un campo de cabecera MIME mal formado. Puede indicarse una combinación de las siguientes máscaras.Máscaras de bits aceptadas por iconv_mime_decode_headers() Valor Constante Descripción 1 ICONV_MIME_DECODE_STRICT Si se indica, la cabecera dada se decodifica de acuerdo a los estándares definidos en » RFC2047. Esta opción se deshabilita por defecto porque hay muchos agentes de correo incorrectos que no siguen esta espeficicación y no producen cabeceras MIME correctas. 2 ICONV_MIME_DECODE_CONTINUE_ON_ERROR Si se indica, iconv_mime_decode_headers() intenta ignorar errores gramaticales y continúa con el proceso en la cabecera. -
charset -
El parámetro opcional
charsetespecifica el set de caracteres con el que representar el resultado. Si se omite, se usará iconv.internal_encoding.
Valores devueltos
Retorna un array asociativo que contiene el set completo de cabeceras
MIME especificadas por
encoded_headers en caso de éxito, o FALSE si
ocurre un error durante la decodificación.
Cada clave del array retornado representa un nombre de campo independiente y su correspondiente elemento representa el valor del campo. Si hay presente más de un campo del mismo nombre, iconv_mime_decode_headers() automáticamente los incorpora en un array indexado por enteros según orden de aparición.
Ejemplos
Ejemplo #1 Ejemplo de iconv_mime_decode_headers()
<?php
$string_cabeceras = <<<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;
$cabeceras = iconv_mime_decode_headers($string_cabeceras, 0, "ISO-8859-1");
print_r($cabeceras);
?>
El resultado del ejemplo sería:
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
)
)
Ver también
- iconv_mime_decode() - Decodifica un campo de la cabecera MIME
- mb_decode_mimeheader() - Decodifica un string en el campo de cabecera MIME
- imap_mime_header_decode() - Decodificar los elementos de la cabecera MIME
- imap_base64() - Decodificar un texto cifrado con BASE64
- imap_qprint() - Convertir una cadena imprimible entrecomillada a una cadena de 8 bits