PHP Doku:: Decodes a MIME header field - function.iconv-mime-decode.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzUnterstützung menschlicher Sprache und Zeichenkodierungiconviconv Funktioneniconv_mime_decode

Ein Service von Reinhard Neidl - Webprogrammierung.

iconv Funktionen

<<iconv_mime_decode_headers

iconv_mime_encode>>

iconv_mime_decode

(PHP 5)

iconv_mime_decodeDecodes a MIME header field

Beschreibung

string iconv_mime_decode ( string $encoded_header [, int $mode = 0 [, string $charset = ini_get("iconv.internal_encoding") ]] )

Decodes a MIME header field.

Parameter-Liste

encoded_header

The encoded header, as a string.

mode

mode determines the behaviour in the event iconv_mime_decode() encounters a malformed MIME header field. You can specify any combination of the following bitmasks.
Bitmasks acceptable to iconv_mime_decode()
Value Constant Description
1 ICONV_MIME_DECODE_STRICT If set, the given header is decoded in full conformance with the standards defined in » RFC2047. This option is disabled by default because there are a lot of broken mail user agents that don't follow the specification and don't produce correct MIME headers.
2 ICONV_MIME_DECODE_CONTINUE_ON_ERROR If set, iconv_mime_decode_headers() attempts to ignore any grammatical errors and continue to process a given header.

charset

The optional charset parameter specifies the character set to represent the result by. If omitted, iconv.internal_encoding will be used.

Rückgabewerte

Returns a decoded MIME field on success, or FALSE if an error occurs during the decoding.

Beispiele

Beispiel #1 iconv_mime_decode() example

<?php
// This yields "Subject: Prüfung Prüfung"
echo iconv_mime_decode("Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=",
                       
0"ISO-8859-1");
?>

Siehe auch


Ein BenutzerBeitrag:
- Beiträge aktualisieren...
dido dot sevilla at gmail dot com
9.03.2005 17:00
In PHP versions that have imap_mime_decode built in, it's possible to emulate the operation of this function:

<?php
function iconv_mime_decode($str, $mode=0, $charset="UTF-8")
{
   
$data = imap_mime_header_decode($str);
    if (
count($data) > 0) {
     
// because iconv doesn't like the 'default' for charset
     
$charset = ($data[0]->charset == 'default') ? 'ASCII' : $data[0]->charset;
      return(
iconv($charset, $charset, $data[0]->text));
    }
    return(
"");
 }
?>

I've only tried to use this code snippet to decode ISO-2022-JP messages to UTF-8, but I see no reason why it shouldn't work in other cases.



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)