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

imap_mime_header_decode

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

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

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

function.imap-mime-header-decode.php

imap_mime_header_decode

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_mime_header_decodeДекодирај елементи од MIME заглавје

= NULL

imap_mime_header_decode(string $string): array|false

Декодира MIME екстензии на заглавјето на пораката што не се ASCII текст (види Низа кодирана со MIME. Методот на кодирање MIME и спецификацијата UTF-8 се опишани во).

Параметри

string

MIME текст

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

Декодираните елементи се враќаат во низа од објекти, каде што секој објект има два својства, charset and text.

Ако елементот не бил кодиран, и со други зборови е во обичен US-ASCII, тогаш charset својството на тој елемент е поставено на default.

Вредност на алфа компонентата. false при неуспех.

Примери

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

<?php
$text
= "=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <[email protected]>";

$elements = imap_mime_header_decode($text);
for (
$i=0; $i<count($elements); $i++) {
echo
"Charset: {$elements[$i]->charset}\n";
echo
"Text: {$elements[$i]->text}\n\n";
}
?>

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

Charset: ISO-8859-1
Text: Keld Jørn Simonsen

Charset: default
Text:  <[email protected]>

Во горниот пример би имале два елементи, при што првиот елемент претходно бил кодиран со ISO-8859-1, а вториот елемент би бил обичен US-ASCII.

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

  • imap_utf8() - Конвертира MIME-кодиран текст во UTF-8

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

Анонимен
пред 13 години
A nice way to decode strings is to use the mb_list_encodings(), but I had two problems with it: 
sometimes, the charset is uppercase in the header an lowercase in mb_list_encodings() and sometimes, the charset is not in the mb_list_encodings() list.

<?php
function upperListEncode() { //convert mb_list_encodings() to uppercase
    $encodes=mb_list_encodings();
    foreach ($encodes as $encode) $tencode[]=strtoupper($encode);
    return $tencode;
    }

function decode($string) {
    $tabChaine=imap_mime_header_decode($string);
    $texte='';
    for ($i=0; $i<count($tabChaine); $i++) {
        
        switch (strtoupper($tabChaine[$i]->charset)) { //convert charset to uppercase
            case 'UTF-8': $texte.= $tabChaine[$i]->text; //utf8 is ok
                break;
            case 'DEFAULT': $texte.= $tabChaine[$i]->text; //no convert
                break;
            default: if (in_array(strtoupper($tabChaine[$i]->charset),upperListEncode())) //found in mb_list_encodings()
                        {$texte.= mb_convert_encoding($tabChaine[$i]->text,'UTF-8',$tabChaine[$i]->charset);}
                     else { //try to convert with iconv()
                          $ret = iconv($tabChaine[$i]->charset, "UTF-8", $tabChaine[$i]->text);    
                          if (!$ret) $texte.=$tabChaine[$i]->text;  //an error occurs (unknown charset) 
                          else $texte.=$ret;
                        }                    
                break;
            }
        }
        
    return $texte;    
    }
?>
kurt dot mirdell at compevo dot se
hello at tzi dot fr
Does not remove spaces at line boundaries.

iconv_mime_decode() works correct.
Навигација

Прелистувај сродни теми и функции.

На оваа страница

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

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

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

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

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