(PHP 5, PHP 7)
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
= ini_set("iconv.internal_encoding")
]] )Ç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
değiştirgesi, 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
değiştirgesi 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ı özdevinimli olarak göründükleri sırayla sayısal indisli bir diziye yerleştirir.
Ö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 ) )