PHP – 使用 iconv_mime_encode() 函数编写 MIME 头字段

在 PHP 中,iconv_mime_encode()函数用于组成一个 MIME 头字段。这是一个内置的 PHP 函数。

语法

string iconv_mime_encode(string $field_name, string $field_value, array $options=[])

iconv_mime_encode()函数用于组合并返回一个表示有效 MIME 标头字段的字符串,如下所示 -

Subject: =ISO-8859-1?Q?Pr=FCfung_f=FFCr?= Entwerfen von einer MIME kopfzeile

注意 -在上面的示例中,主题 -字段名称,以“=ISO-8859-1?...”开头的部分是字段值

参数

iconv_mime_encode()接受三个不同的参数- $field_name$field_value$options

  • $field_name -此参数用于字段名称。

  • $field_value -此参数用于字段值。

  • $options -使用此参数,您可以iconv_mime_encode()通过指定包含配置项的关联数组来控制可选参数的行为。

以下是支持的配置项列表 iconv_mime_encode()

项目

类型

说明

默认值

示例

方案
字符串
该方案指定了对字段值进行编码的方法。此项目值可以是 B (base64) 或 Q(quoted-printable) 编码方案。


输入字符集
字符串
它指定字符集,field_name 是第一个参数,field_value 是第二个参数。如果未给出这些参数,则该iconv_mime_encode()函数假定它可能出现在iconv.internal_charsetini 设置中。
iconv.internal_charset
ISO-8859-1
输出字符集
字符串
它指定用于组成 MIME 标头的字符集。如果未给出,则它将使用输入字符集值。
input_charset 用作默认值
UTF-8
行长
整数
它指定标题行的最大长度。
76
996
换行符
字符串
它指定在长标题字段上执行折叠时要附加到每一行的字符序列作为 EOL。如果未给出,则默认为“\r\n”(CR LF)
\r\n
\n

示例 1 - 使用“Q”引用的可打印编码方案

<?php
   // 使用 iconv_mime_encode() 支持的配置项
   $options = array(
      "input-charset" => "ISO-8859-2",
      "output-charset" => "UTF-8",
      "line-length" => 76,
      "line-break-chars" => "\n"
   );
   // 使用 Q 引用的可打印编码方案
   $options["scheme"] = "Q";

   // 下面的代码将结果显示为
   // "Subject: =?UTF-8?Q?Pr=C3=BCfung=20Pr=C3=BCfung?="
   echo iconv_mime_encode("Subject", "Prüfung Prüfung", $options);
?>
输出结果
Subject: =?UTF-8?Q?Pr=C3=83=C2=BCfung=20Pr=C3=83=C2=BCfung?=

示例 2

<?php
   // 使用 iconv_mime_encode() 支持的配置项
   $options = array(
      "input-charset" => "ISO-8859-1",
      "output-charset" => "UTF-8",
      "line-length" => 76,
      "line-break-chars" => "\n"
   );

   // B 使用 base64 编码方案
   $options["scheme"] = "B";

   // 下面的代码将结果显示为
   //"Subject: =?UTF-8?B?UHJlw4PCp29zIE9sw4PCoC50eHQ=?="
   echo iconv_mime_encode("Subject", "Preços Olà.txt", $options);
?>
输出结果
Subject: =?UTF-8?B?UHJlw4PCp29zIE9sw4PCoC50eHQ=?=

猜你喜欢