PHP의 IntlChar::isIDIgnorable() 함수는 주어진 문자가 '무시 가능한 문자(ignorable character)'에 해당하는지 여부를 확인하는 함수입니다. 이 함수는 국제화(Internationalization) 작업에서 특정 문자를 텍스트 처리 과정에서 무시해야 하는지 판단할 때 유용하게 사용됩니다.
여기서 말하는 무시 가능한 문자란, 일반적으로 화면에 시각적으로 표시되지 않거나 렌더링 과정에서 생략될 수 있는 문자를 의미합니다. 대표적으로 일부 제어 문자나 결합 문자 등이 해당하며, 유니코드 표준에서 정의한 Default_Ignorable_Code_Point 속성을 기준으로 판별됩니다.
문법(Syntax)
bool IntlChar::isIDIgnorable(val)
매개변수(Parameters)
val − 검사할 문자 또는 정수 값입니다. UTF-8로 인코딩된 문자열 형태로 전달할 수 있습니다.
반환 값(Return)
전달된 값(val)이 무시 가능한 문자라면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.
사용 예제
다음은 IntlChar::isIDIgnorable() 함수의 사용 예제입니다.
<?php
var_dump(IntlChar::isIDIgnorable("&"));
echo "<br>";
var_dump(IntlChar::isIDIgnorable("u{007F}"));
echo "<br>";
var_dump(IntlChar::isIDIgnorable("A"));
?>
실행 결과(Output)
bool(false)
bool(true)
bool(false)
예제 설명
"&"는 일반적인 특수 기호 문자이므로 무시 가능한 문자가 아니며, 결과적으로 false가 반환됩니다.u{007F}(DEL 제어 문자)은 화면에 아무것도 출력하지 않는 제어 문자로, 무시 가능한 문자에 해당하므로 true가 반환됩니다."A"는 일반적인 알파벳 문자이므로 무시 가능한 문자가 아니며, false가 반환됩니다.
활용 팁
이 함수는 사용자 입력값을 정리(sanitize)하거나, 문자열에서 불필요한 제어 문자를 필터링하는 로직을 구현할 때 활용할 수 있습니다. 예를 들어, 폼 입력 데이터에서 보이지 않는 제어 문자를 제거하여 데이터의 일관성을 유지하는 데 도움이 됩니다. 단, 이 함수를 사용하려면 PHP에 Intl 확장 모듈(intl extension)이 설치되어 있어야 합니다.