Multibyte mb_encode_mimeheader

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_encode_mimeheader — Encode string for MIME header


설명

mb_encode_mimeheader(
    string $string,
    ?string $charset = null,
    ?string $transfer_encoding = null,
    string $newline = "\r\n",
    int $indent = 0
): string
                

MIME 헤더 인코딩 체계로 주어진 문자열 string을 인코딩합니다.


매개변수

string
인코딩되는 문자열입니다. 인코딩은 mb_internal_encoding()과 동일해야 합니다.
charset
charset은 string이 표시되는 문자 집합의 이름을 지정합니다. 기본값은 현재 NLS 설정(mbstring.language)에 의해 결정됩니다.
transfer_encoding
transfer_encoding은 MIME 인코딩 방식을 지정합니다. "B"(Base64) 또는 "Q"(Quoted-Printable)여야 합니다. 지정하지 않으면 "B"로 폴백합니다.
newline
newlinemb_encode_mimeheader()가 줄 접기를 수행하는 EOL(줄 끝) 마커를 지정합니다(» RFC 용어, 특정 길이보다 긴 줄을 여러 줄로 나누는 행위). 길이는 현재 하드 코딩되어 있습니다. 74자). 지정하지 않으면 "\r\n"(CRLF)로 폴백합니다.
indent
첫 번째 줄의 들여쓰기(string 앞 헤더의 문자 수).

반환 값

ASCII로 표시되는 문자열의 변환된 버전입니다.


변경 로그

Version Description
8.0.0 charsettransfer_encoding은 이제 null을 허용합니다.

Examples

예제 #1 mb_encode_mimeheader() 예제

                  
<?php
$name = "太郎"; // kanji
$mbox = "kru";
$doma = "gtinn.mon";
$addr = '"' . addcslashes(mb_encode_mimeheader($name, "UTF-7", "Q"), '"') . '" <' . $mbox . "@" . $doma . ">";
echo $addr;
?>
                  
                

위의 예는 다음을 출력합니다.

"=?UTF-7?Q?+WSqQzg-?=" <kru@gtinn.mon>
                

메모

메모: 이 함수는 더 높은 수준의 컨텍스트 중단점(단어 경계 등)에서 줄을 나누도록 설계되지 않았습니다. 이 동작은 예기치 않은 공백으로 원래 문자열을 어지럽힐 수 있습니다.


기타