PHP.mk документација

iconv_mime_decode_headers

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.iconv-mime-decode-headers.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека function.iconv-mime-decode-headers.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
iconv_mime_decode_headers

Референца за `function.iconv-mime-decode-headers.php` со подобрена типографија и навигација.

function.iconv-mime-decode-headers.php

iconv_mime_decode_headers

класата mysqli_driver

iconv_mime_decode_headersДекодира повеќе MIME полиња за заглавие одеднаш

= NULL

iconv_mime_decode_headers(string $headers, int $mode = 0, ?string $encoding = null): array|false

Декодира повеќе MIME полиња за заглавие одеднаш.

Параметри

headers

Кодираните заглавија, како стринг.

mode

mode ја одредува однесувањето во случај iconv_mime_decode_headers() најде невалидно MIME поле за заглавие. Можете да специфицирате каква било комбинација од следниве битни маски.

Бит маски прифатливи за iconv_mime_decode_headers()
Име (константа) Константа = NULL
1 ICONV_MIME_DECODE_STRICT Ако е поставено, даденото заглавие се декодира во целосна согласност со стандардите дефинирани во Низа кодирана со MIME. Методот на кодирање MIME и спецификацијата UTF-8 се опишани во. Оваа опција е оневозможена по дифолт бидејќи има многу скршени агенти за пошта што не ја следат спецификацијата и не произведуваат правилни MIME headers.
2 ICONV_MIME_DECODE_CONTINUE_ON_ERROR Ако е поставено, iconv_mime_decode_headers() се обидува да игнорира какви било граматички грешки и да продолжи со обработката на дадено заглавие.
encoding

Опционалниот encoding параметарот ја специфицира кодната страница за претставување на резултатот. Ако е изоставен или null, iconv.internal_encoding ќе се користи.

Вратени вредности

Враќа асоцијативен низ кој држи цел сет на MIME полиња за заглавие специфицирани од headers при успех, или false ако се случи грешка при декодирањето.

Секој клуч на вратената вредност претставува индивидуално име на поле и соодветниот елемент претставува вредност на полето. Ако се присутни повеќе од едно поле со исто име, iconv_mime_decode_headers() автоматски ги вклучува во нумерички индексиран низ по редослед на појавување. Имајте предвид дека имињата на заглавијата не се case-insensitive.

Дневник на промени

Верзија = NULL
8.0.0 encoding сега е null.

Примери

Пример #1 iconv_mime_decode_headers() example

<?php
$headers_string
= <<<EOF
Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=
To: [email protected]
Date: Thu, 1 Jan 1970 00:00:00 +0000
Message-Id: <[email protected]>
Received: from localhost (localhost [127.0.0.1]) by localhost
with SMTP id example for <[email protected]>;
Thu, 1 Jan 1970 00:00:00 +0000 (UTC)
(envelope-from [email protected])
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);
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

Array
(
    [Subject] => Prüfung Prüfung
    [To] => [email protected]
    [Date] => Thu, 1 Jan 1970 00:00:00 +0000
    [Message-Id] => <[email protected]>
    [Received] => Array
        (
            [0] => from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <[email protected]>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from [email protected])
            [1] => (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000
        )

)

Види Исто така

Белешки од корисници 2 забелешки

- Претвори "quoted-printable" стринг во 8-битен стринг
пред 1 година
Just in case this catches anyone else: If your headers string has any leading linebreaks, this function will reject it and return an empty array. If that might apply to your input, sanitise it with ltrim().

Trailing empty lines are tolerated/ignored.

Other quirks I noticed just now:

1. Leading whitespace (" " or "\t") in the *first* line will be included in the header's key name in the returned array. ltrim() will prevent that too.

2. Leading whitespace in any subsequent header (before the key) will cause that line to be appended to the preceding header's value, as though it were a run-on of that header.
TheConstructor
пред 15 години
If you need lower-case header-names (as I read the documentation case is not guranteed) try something like

<?php

$headers_string = <<<EOF
Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=
To: [email protected]
Date: Thu, 1 Jan 1970 00:00:00 +0000
Message-Id: <[email protected]>
Received: from localhost (localhost [127.0.0.1]) by localhost
    with SMTP id example for <[email protected]>;
    Thu, 1 Jan 1970 00:00:00 +0000 (UTC)
    (envelope-from [email protected])
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");

$headers = array_combine(array_map("strtolower", array_keys($headers)), array_values($headers));

print_r($headers);
?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.