PHP에서 iconv_mime_decode_headers() 함수는 한 번에 여러 MIME 헤더 필드를 디코딩하는 데 사용됩니다. PHP에 내장된 기능입니다.
구문
iconv_mime_decode_headers($str_headers, $int_mode, $str_encoding)
매개변수
iconv_mime_decode_headers() 함수는 세 가지 매개변수를 허용합니다. $headers , $모드 및 $encoding .
-
$headers - $header 매개변수는 인코딩된 헤더에 사용됩니다. 문자열 형식의 매개변수입니다.
-
$모드 - $mode 매개변수는 iconv_mime_decode_headers() 이벤트의 동작을 결정합니다. 변형된 MIME 헤더 필드가 발생합니다. 다음 비트마스크 조합을 사용할 수 있습니다.
-
iconv_mime_decode_headers()에 허용되는 비트마스크 목록
- ICONV_MIME_DECODE_STRICT
- ICONV_MIME_DECODE_CONTINUE_ON_ERROR
- ICONV_MIME_DECODE_STRICT - iconv_mime_decode_strict 가 설정되면 주어진 헤더가 완벽하게 디코딩되지만 요구 사항을 따르지 않고 올바른 MIME 헤더를 생성하지 않는 많은 깨진 메일 사용자 에이전트로 인해 이 옵션은 기본적으로 비활성화되어 있습니다.
- ICONV_MIME_DECODE_CONTINUE_ON_ERROR - iconv_mime_decode_continue_on_error() 매개변수가 설정되면 문법 오류를 무시하려고 시도하고 주어진 헤더를 계속 처리합니다.
-
$인코딩 - 인코딩은 결과를 나타내는 문자 집합을 지정하는 데 사용되는 선택적 매개변수입니다. 생략하거나 null인 경우 iconv.internal_encoding이 사용됩니다.
반환 값
iconv_mime_decode_headers() 함수는 성공 시 헤더로 지정된 전체 MIME 헤더 필드 세트를 보유하는 연관 배열을 반환하거나 디코딩 중에 오류가 발생하면 False를 반환합니다.
예시 1
<pre> <?php $str_headers = <<<EOF Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?= To: [email protected] Date: Mon, 21 Jun 2021 00:00:00 +0000 Message-Id: <[email protected]> Received: from localhost (localhost [127.0.0.1]) by localhost with SMTP id xyz for <[email protected]>; Mon, 21 Jun 2021 00:00:00 +0000 (UTC) (envelope-from [email protected]) Received: (qmail 0 invoked by uid 65534); 21 Mon 2005 00:00:00 +0000 EOF; $headers = iconv_mime_decode_headers($str_headers, 0, "ISO-8859-1"); print_r($headers); ?> </pre>
출력
Array ( [Subject] => Pr�fung Pr�fung [To] => [email protected] [Date] => Mon, 21 Jun 2021 00:00:00 +0000 [Message-Id] => [Received] => Array ( [0] => from localhost (localhost [127.0.0.1]) by localhost with SMTP id xyz for ; Mon, 21 Jun 2021 00:00:00 +0000 (UTC) (envelope-from [email protected]) [1] => (qmail 0 invoked by uid 65534); 21 Mon 2005 00:00:00 +0000 ) )