PHP IntlChar::totitle() 함수란?
IntlChar::totitle() 함수는 입력된 값이 유니코드 문자의 타이틀케이스(titlecase)에 해당하는지 검사하고, 해당 코드 포인트의 타이틀케이스 매핑 값을 구하는 데 사용됩니다. 주로 소문자 알파벳을 제목 표기용 대문자 형태로 변환할 때 활용됩니다.
구문(Syntax)
IntlChar::totitle(val)
매개변수(Parameters)
val − UTF-8 문자열로 인코딩된 단일 문자 또는 정수 값입니다. 반드시 한 글자여야 하며, 두 글자 이상으로 구성된 문자열을 전달하면 NULL이 반환됩니다.
반환 값(Return Value)
IntlChar::totitle() 함수는 코드 포인트에 Simple_Titlecase_Mapping이 존재하면 해당 값을 반환하고, 존재하지 않으면 코드 포인트 자체를 그대로 반환합니다. 유효하지 않은 입력(예: 여러 문자로 된 문자열)에는 NULL을 반환합니다.
예제(Example)
다음은 IntlChar::totitle() 함수의 사용 예입니다.
<?php
var_dump(IntlChar::totitle(" "));
echo "<br>";
var_dump(IntlChar::totitle(" $ "));
echo "<br>";
var_dump(IntlChar::totitle("78"));
echo "<br>";
var_dump(IntlChar::totitle("k"));
?>실행 결과(Output)
위 예제의 실행 결과는 다음과 같습니다.
string(1) " " NULL NULL string(1) "K"
결과 해석
공백 문자(" ")는 타이틀케이스 매핑이 존재하지 않으므로 그대로 반환됩니다. 두 글자 이상으로 구성된 문자열(" $ ", "78")은 유효한 단일 문자가 아니기 때문에 NULL이 반환됩니다. 반면 소문자 "k"는 타이틀케이스 매핑이 존재하여 대문자 "K"로 변환되어 반환됩니다.
참고로 대부분의 라틴 문자에서 타이틀케이스는 대문자와 동일하지만, 합자(예: 'dž')처럼 대문자('DŽ')와 타이틀케이스('Dž')가 서로 다른 경우도 있습니다. 따라서 국제화 처리 시 단순 대문자 변환이 아닌 타이틀케이스 변환이 필요한 상황이라면 이 함수를 활용하는 것이 좋습니다.