큰따옴표에 슬래시 추가하기
PHP에서 문자열의 큰따옴표에만 슬래시(백슬래시)를 추가해야 한다면 json_encode() 함수를 활용할 수 있습니다. 이 함수는 데이터를 JSON 형식으로 인코딩하는 과정에서 큰따옴표 앞에 자동으로 백슬래시를 붙여줍니다.
또한 addcslashes() 함수를 사용하면 지정한 특정 문자 앞에 백슬래시(\)를 추가할 수도 있습니다.
예제 코드
<?php
$str = addcslashes("Hello there!", "t");
echo($str);
?>실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Hello \there!
addcslashes() 함수의 동작 원리와 주의사항
addcslashes() 함수는 지정한 문자 앞에 백슬래시가 붙은 문자열을 반환합니다. 이 함수는 대소문자를 구분(case-sensitive)하며, 다음 값들에는 사용하지 않는 것이 좋습니다.
- 0 (null)
- r (캐리지 리턴)
- n (줄바꿈)
- f (폼 피드)
- t (탭)
- v (수직 탭)
그 이유는 \0, \r, \n, \t, \f, \v가 이미 사전에 정의된 이스케이프 시퀀스이기 때문입니다. 이러한 문자에 addcslashes()를 적용하면 의도치 않은 결과가 발생할 수 있으므로 주의해야 합니다.
위 예제 코드에서는 addcslashes() 함수를 호출하면서 백슬래시가 문자 't' 앞에 오도록 지정했습니다. 그 결과 "there"의 't' 앞에 백슬래시가 추가되어 "Hello \there!"가 출력된 것입니다.