Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP IntlChar::charName() 함수 – 유니코드 문자 이름 조회하기

PHP의 IntlChar::charName() 함수는 주어진 유니코드 문자의 공식 이름을 반환하는 함수입니다. 이 함수를 활용하면 특정 문자가 유니코드 표준에서 어떤 이름으로 정의되어 있는지 손쉽게 확인할 수 있어, 문자 처리나 디버깅 작업에 유용하게 사용됩니다.

문법

string IntlChar::charName( val [, choice = IntlChar::UNICODE_CHAR_NAME] )

매개변수

  • val − 이름을 조회할 대상 문자로, 정수 값 또는 UTF-8로 인코딩된 문자열 형태의 문자를 전달합니다.

  • choice − 반환할 문자 이름의 유형을 지정하는 선택적 매개변수입니다. 다음 상수 중 하나를 지정할 수 있습니다.

    • IntlChar::UNICODE_CHAR_NAME

    • IntlChar::CHAR_NAME_ALIAS

    • IntlChar::CHAR_NAME_CHOICE_COUNT

    • IntlChar::UNICODE_10_CHAR_NAME

    • IntlChar::EXTENDED_CHAR_NAME

반환값

IntlChar::charName() 함수는 입력값에 해당하는 문자 이름을 반환합니다. 만약 해당 문자에 정의된 이름이 없다면 빈 문자열(""), 그리고 입력값이 유효한 단일 문자가 아니라면 NULL이 반환됩니다.

예제 1: 특수문자 이름 조회

다음은 "&" 문자의 이름을 조회하는 예제입니다.

<?php
    var_dump(IntlChar::charName("&"));
    echo "<br>";
    var_dump(IntlChar::charName("&", IntlChar::EXTENDED_CHAR_NAME));
?>

출력 결과

string(9) "AMPERSAND"
string(9) "AMPERSAND"

기본 옵션과 EXTENDED_CHAR_NAME 옵션 모두 "&"에 대한 이름인 "AMPERSAND"를 동일하게 반환하는 것을 확인할 수 있습니다.

예제 2: 알파벳 문자 이름 조회

이번에는 알파벳 "K"의 이름을 확인해 보겠습니다.

<?php
    var_dump(IntlChar::charName("K"));
    echo "<br>";
    var_dump(IntlChar::charName("K", IntlChar::EXTENDED_CHAR_NAME));
?>

출력 결과

string(22) "LATIN CAPITAL LETTER K"
string(22) "LATIN CAPITAL LETTER K"

예제 3: 다양한 입력값 비교

여러 종류의 입력값을 한 번에 비교해 보겠습니다.

<?php
    var_dump(IntlChar::charName("5"));
    echo "<br>";
    var_dump(IntlChar::charName("10"));
    echo "<br>";
    var_dump(IntlChar::charName("e"));
    echo "<br>";
    var_dump(IntlChar::charName("}"));
?>

출력 결과

string(10) "DIGIT FIVE"
NULL
string(20) "LATIN SMALL LETTER E"
string(19) "RIGHT CURLY BRACKET"

위 출력에서 눈여겨볼 점은 두 번째 결과입니다. "10"처럼 두 글자 이상으로 구성된 문자열은 유효한 단일 문자가 아니기 때문에 NULL이 반환됩니다. 반면 "5", "e", "}"처럼 하나의 문자로 구성된 입력은 각각 "DIGIT FIVE", "LATIN SMALL LETTER E", "RIGHT CURLY BRACKET"이라는 유니코드 공식 이름이 정상적으로 반환됩니다.

이처럼 IntlChar::charName() 함수는 반드시 단일 문자(또는 해당 코드 포인트의 정수 값)만 인수로 전달해야 하며, 이 점을 유의하면 유니코드 문자 정보를 다룰 때 매우 편리하게 활용할 수 있습니다.