PHP 코드를 작성하다 보면 줄바꿈 문자(\n)나 탭 문자(\t)처럼 화면에 표시되지 않는 "보이지 않는" 문자 때문에 디버깅이 어려울 때가 있습니다. 이런 숨겨진 문자를 눈으로 확인하고 싶다면 addcslashes() 함수를 활용하면 됩니다.
addcslashes() 함수란?
addcslashes()는 지정한 문자 목록(charlist)에 해당하는 문자 앞에 백슬래시(\)를 붙여 반환하는 PHP 내장 함수입니다. 이 기능을 이용하면 평소에는 보이지 않던 특수 문자와 제어 문자를 명시적으로 드러낼 수 있습니다.
string addcslashes ( string $str, string $charlist )
- $str: 이스케이프 처리할 대상 문자열입니다.
- $charlist: 앞에 백슬래시를 붙일 문자의 범위 또는 목록입니다. 예를 들어 'A..z'처럼 범위로 지정할 수 있습니다.
사용 예제
아래 예제는 문자열 'sample[ ]'에 대해 A부터 z까지의 모든 문자에 백슬래시를 추가합니다.
<?php
echo addcslashes('sample[ ]', 'A..z');
?>
실행 결과
위 코드를 실행하면 각 문자 앞에 백슬래시가 붙어 아래와 같은 결과가 출력됩니다.
\s\a\m\p\l\e\[ \]
활용 팁
이 방식을 응용하면 실무에서 유용하게 활용할 수 있습니다.
- 디버깅: 사용자 입력값이나 API 응답에 숨어 있는 개행 문자, 탭, 캐리지 리턴 등을 확인할 때 유용합니다.
- 문자열 비교: 겉보기에는 동일해 보이지만 서로 다른 문자열이 왜 일치하지 않는지 원인을 파악할 수 있습니다.
- 데이터 검증: 데이터베이스에 저장하기 전에 의도치 않은 제어 문자가 포함되었는지 점검할 수 있습니다.
이처럼 addcslashes() 함수 하나만으로도 보이지 않는 문자를 쉽게 시각화하여 문자열 관련 문제를 빠르게 해결할 수 있습니다.