(PHP 5, PHP 7, PHP 8)
iconv_mime_decode_headers — Bir defada birden fazla MIME
başlık alanını çözümler
$kodlanmış_başlıklar
, int$kip
= 0, ?string$karküm
= null
): array|false Çok sayıda MIME
başlık alanını bir kerede çözümler.
kodlanmış_başlıklar
Bir dizge olarak kodlanmış başlıklar.
kip
kip
bağımsız değişkeni, işlev bozuk bir MIME
başlık alanı saptadığı takdirde işlevin davranışını belirler. Aşağıdaki değerleri bir bit maskesi olarak belirtebilirsiniz:
Değer | Sabit | Açıklama |
---|---|---|
1 | ICONV_MIME_DECODE_STRICT | Belirtilirse, başlık, » RFC2047'de tanımlanan standartlarla tam uyumlu kodlanır. Bu seçenek öntanımlı olarak kapalıdır, çünkü belirtime uymayan ve doğru MIME başlıkları üretmeyen pek çok kullanıcı eposta istemcisi var. |
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | Belirtilirse, iconv_mime_decode_headers() işlevi yazım hatalarını yoksayıp belirtilen başlığı işlemeye devam etmeye çalışır. |
karküm
İsteğe bağlı karküm
bağımsız değişkeni elde edilecek dizgenin karakter kümesini belirler. Belirtilmezse, dizgenin karakter kodlamasının iconv.internal_encoding yönergesinde belirtilen kodlama olacağı varsayılır.
kodlanmış_başlıklar
dizgesi ile belirtilen kodlanmış MIME
başlık alanlarını çözümleyip sonucu bir ilişkisel dizi olarak döndürür. Bu işlem sırasında bir hata oluşursa false
döner.
Dönen dizideki her anahtar bir başlık alanına, her değer de anahtarla ilgili bir başlık değerine karşılıktır. Aynı isimde birden fazla alan varsa işlev bunları otomatik olarak göründükleri sırayla sayısal indisli bir diziye yerleştirir. Başlık isimlerinin harf büyüklüğüne duyarsız oldukları unutulmamalıdır.
Sürüm: | Açıklama |
---|---|
8.0.0 | karküm artık boş olabiliyor. |
Örnek 1 - iconv_mime_decode_headers() örneği
<?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);
?>
Yukarıdaki örneğin çıktısı:
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 ) )