-
[PHP] 따옴표 처리 함수 <addslashes/stripslashes>오늘의 IT/PHP 2023. 2. 7. 23:38반응형
addslashes(이스케이프 할 문자열)
홑따옴표('), 겹따옴표("), 백슬래시(\), NUL(NULL 바이트) 문자 [ : 보통 DB 질의 등에서 처리할 필요가 있는 문자] 앞에 백슬래시를 붙인 문자열을 반환함
PHP는 기본적으로 magic_quotes_gpc 설정이 ON 임
magic_quotes_gpc 설정이란?
GPC (Get/Post/Cookie) 작동의 magic_quotes 상태를 설정함
magic_quotes가 on이면, 모든 ' (작은따옴표), " (큰 따옴표), \ (백슬래시), NUL은 자동적으로 백슬래시로 이스케이프 됨해당 설정을 통해 이스케이프 된 문자열이 addslashes를 사용하면 2번 이스케이프 됨 -> 문제 있음(오류 삐삐)
해당 설정이 켜져 있는지는 get_magic_quotes_gpc() 함수로 확인 가능!!
$str = "Hi I'm 대장"; echo addslashes($str);
결과
Hi I\'m 대장
stripslashes(백슬래시 처리를 제거할 문자열).
백슬래시 처리를 제거한 문자열을 반환
magic_quotes_sybase가 켜져 있으면, 백슬래시는 처리되지 않고, 작은따옴표를 하나로 교체함.
magic_quotes_sybase 설정이란?
sybase (SAP에서 제공하는 관계형 데이터베이스) 사용자의 정상적인 DB 접속을 위해 만들어짐
해당 기능은 magic_quotes_gpc 설정이 켜져 있어도 작동하지 않음\' -----> ' 로 반환
* 이중 백슬래시라면 \\ ----> \ 로 반환함
$str = "Hi I\'m 대장"; echo stripslashes($str);
결과
Hi I'm 대장
반응형'오늘의 IT > PHP' 카테고리의 다른 글
[PHP] 문자열 치환 함수 <str_replace> (1) 2023.02.01 [PHP] 문자열/배열 전환 함수 <explode/implode> (1) 2023.01.30 [PHP] XML CDATA 란 무엇인가? (2) 2023.01.27 [php] 문자열 찾기 함수 <strpos> (1) 2023.01.26