iconv_mime_encode

(PHP 5, PHP 7, PHP 8)

iconv_mime_encodeCompone un campo de cabecera MIME

Descripción

iconv_mime_encode(string $field_name, string $field_value, array $preferences = null): string

Compone y retorna un string que representa un campo de cabecera MIME válido que tiene una forma similar a:

Subject: =?ISO-8859-1?Q?Pr=FCfung_f=FCr?= Entwerfen von einer MIME kopfzeile
En el anterior ejemplo, "Subject" es el nombre del campo y la parte que empieza con "=?ISO-8859-1?..." es el valor del campo.

Parámetros

field_name

Nombre del campo.

field_value

Valor del campo.

preferences

Puede controlarse el comportamiento de iconv_mime_decode() especificando un array asociativo que contenga elementos de configuración al parámetro opcional preferences. Los elementos soportados por iconv_mime_encode() son listados seguidamente. Notar que en los nombres de los elementos se distinguen mayúsculas y minúsculas.

Elementos de configuración soportados por iconv_mime_encode()
Elemento Tipo Descripción Valor por defecto Ejemplo
scheme string Especifica el método con el que codificar el valor de un campo. El valor de este elemento puede ser tanto "B" como "Q", donde "B" se usa para un esquema de codificación base64 y "Q" para un esquema de codificación quoted-printable. B B
input-charset string Especifica el set de caracteres con el que se muestran el primer parámetro field_name y el segundo field_value. Si no se da, iconv_mime_encode() asume que esos parámetros se muestran según lo indicado en el parámetro de coonfiguración ini iconv.internal_encoding. iconv.internal_encoding ISO-8859-1
output-charset string Especifica el set de caracteres a usar para componer la cabecera MIME. iconv.internal_encoding UTF-8
line-length integer Especifica la longitud máxima de las líneas de la cabecera. La cabecera resultante se "desdobla" en varias líneas en caso de que el campo de la cabecera resultante sea más largo que el valor de este parámetro, de acuerdo con » RFC2822 - Internet Message Format. Si no se especifica, la longitud se limita a 76 caracteres. 76 996
line-break-chars string Especifica la secuencia de caracteres a añadir a cada línea como signo de final de línea cuando ocurre el "desdoblamiento" de campos de cabeceras largos. Si no se da, por defecto es "\r\n" (CR LF). Notar que este parámetro siempre se trata como strings ASCII, sea cual sea el valor de input-charset. \r\n \n

Valores devueltos

En caso de éxito retorna un campo MIME codificado o false si ha ocurrido un error durante la codificación.

Ejemplos

Ejemplo #1 Ejemplo de iconv_mime_encode()

<?php
$preferences 
= array(
    
"input-charset" => "ISO-8859-1",
    
"output-charset" => "UTF-8",
    
"line-length" => 76,
    
"line-break-chars" => "\n"
);
$preferences["scheme"] = "Q";
// Esto contiene "Subject: =?UTF-8?Q?Pr=C3=BCfung=20Pr=C3=BCfung?="
echo iconv_mime_encode("Subject""Prüfung Prüfung"$preferences);

$preferences["scheme"] = "B";
// This yields "Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?="
echo iconv_mime_encode("Subject""Prüfung Prüfung"$preferences);
?>

Ver también