iconv_mime_decode_headers 함수
(PHP 5, PHP 7, PHP 8)
iconv_mime_decode_headers — 한 번에 여러 MIME 헤더 필드 디코딩
설명
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()에 허용되는 비트마스크
Value 상수 설명 1 ICONV_MIME_DECODE_STRICT 설정된 경우 지정된 헤더는 » RFC2047에 정의된 표준을 완전히 준수하여 디코딩됩니다. 사양을 따르지 않고 올바른 MIME
헤더를 생성하지 않는 깨진 메일 사용자 에이전트가 많기 때문에 이 옵션은 기본적으로 비활성화되어 있습니다.2 ICONV_MIME_DECODE_CONTINUE_ON_ERROR 설정된 경우 iconv_mime_decode_headers()는 문법 오류를 무시하고 지정된 헤더를 계속 처리하려고 시도합니다. encoding
- 선택적
encoding
매개변수는 결과를 나타내는 문자 세트를 지정합니다. 생략하거나null
이면 iconv.internal_encoding이 사용됩니다.
반환 값
성공하면 headers
에 의해 지정된 MIME 헤더 필드의 전체 세트를 보유하는 연관 배열을 리턴하고, 디코딩 중에 오류가 발생하면 false
를 리턴합니다.
반환 값의 각 키는 개별 필드 이름을 나타내고 해당 요소는 필드 값을 나타냅니다. 동일한 이름의 필드가 두 개 이상 있는 경우 iconv_mime_decode_headers()는 자동으로 해당 필드를 발생 순서대로 숫자 인덱스 배열에 통합합니다. 헤더 이름은 대소문자를 구분하지 않습니다.
변경 로그
버전 | 설명 |
---|---|
8.0.0 | encoding 은 이제 nullable입니다. |
Examples
예제 #1 iconv_mime_decode_headers() 예제
<?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);
?>
위의 예는 다음을 출력합니다.
Array ( [Subject] => Prüfung Prüfung [To] => example@example.com [Date] => Thu, 1 Jan 1970 00:00:00 +0000 [Message-Id] =>[Received] => Array ( [0] => from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for ; 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 ) )
기타
- iconv_mime_decode() - MIME 헤더 필드를 디코딩합니다.
- mb_decode_mimeheader() - MIME 헤더 필드의 문자열 디코딩
- imap_mime_header_decode() - MIME 헤더 요소 디코딩
- imap_base64() - BASE64로 인코딩된 텍스트 디코딩
- imap_qprint() - 따옴표로 묶인 인쇄 가능한 문자열을 8비트 문자열로 변환