PHP의 IntlChar::charMirror() 함수는 입력된 문자에 대해 '거울상(mirror-image)'에 해당하는 문자를 찾아 반환합니다. 이 함수는 주로 아랍어나 히브리어처럼 오른쪽에서 왼쪽으로 쓰이는 언어(RTL)에서 좌우가 뒤집히는 괄호, 대괄호 등의 기호를 처리할 때 유용하게 사용됩니다.
문법
IntlChar::charMirror(val)
매개변수
val − UTF-8 문자열로 인코딩된 문자 또는 정수 값을 입력합니다.
반환 값
IntlChar::charMirror() 함수는 입력된 문자의 거울상으로 사용할 수 있는 다른 유니코드 코드 포인트(codepoint)를 반환합니다. 만약 해당하는 매핑이 존재하지 않거나, 입력된 코드 포인트가 Bidi_Mirrored 속성을 가지고 있지 않은 경우에는 원래의 코드 포인트 그대로를 반환합니다.
사용 예제
아래는 다양한 문자에 대해 charMirror() 함수를 적용한 예제입니다.
<?php
var_dump(IntlChar::charMirror("K"));
echo "<br>";
var_dump(IntlChar::charMirror("*"));
echo "<br>";
var_dump(IntlChar::charMirror("}"));
echo "<br>";
var_dump(IntlChar::charMirror("["));
echo "<br>";
var_dump(IntlChar::charMirror("("));
echo "<br>";
?>실행 결과
위 예제의 실행 결과는 다음과 같습니다.
string(1) "K"
string(1) "*"
string(1) "{"
string(1) "]"
string(1) ")"결과 해석
실행 결과에서 알 수 있듯이, 닫는 중괄호 '}'는 여는 중괄호 '{'로, 여는 대괄호 '['는 닫는 대괄호 ']'로, 여는 소괄호 '('는 닫는 소괄호 ')'로 변환되었습니다. 반면 알파벳 'K'나 별표 '*'처럼 거울상이 존재하지 않는 문자는 원본 문자가 그대로 반환됩니다. 이처럼 charMirror() 함수는 양방향(BiDi) 텍스트 처리 시 좌우 대칭 관계에 있는 기호를 손쉽게 변환할 수 있는 실용적인 도구입니다.