[PHP] addcslashes() 함수 사용방법 및 예제

1개월 전 질문 1개월 전 토론 16 views

(PHP 4, PHP 5, PHP 7, PHP 8)

addcslashs — C 스타일처럼 문자열에 백슬래시를 추가합니다.

 

설명

addcslashes(string $string, string $characters): string

문자 매개 변수에 나열된 문자 앞에 백슬래시가 있는 문자열을 반환합니다.

 

매개 변수

string

변환해야 하는 문자열

 

characters

변환해야 하는 문자 목록입니다.
문자가 \n, \r 등을 포함하는 경우 C같은 스타일로 변환되며, 32보다 낮고 126보다 높은 ASCII 코드를 가진 다른 비영숫자 문자는 8진수 표현으로 변환됩니다.
여기에 문자 시퀀스를 정의할 때는 범위의 시작과 끝으로 설정한 문자 사이에 어떤 문자가 포함되는지 알아야 합니다.

<?php
echo addcslashes('foo[ ]', 'A..z');
// 출력:  \f\o\o\[ \]
// 모든 대소문자는 변환됩니다.
// ... 그러나 이것도 변환됩니다. [\]^_`
?>

또한 범위의 첫 번째 문자가 범위의 두 번째 문자보다 높은 ASCII 값을 갖는 경우 범위가 생성되지 않습니다.
시작, 끝 및 마침표 문자만 변환됩니다.
문자의 ASCII 값을 찾으려면 ord() 함수를 사용하세요.

<?php
echo addcslashes("zoo['.']", 'z..A');
// 출력:  \zoo['\.']
?>

문자 0, a, b, f, n, r, t 및 v를 이스케이프하도록 선택할 경우 주의하세요.
이들은 \0, \a, \b, \f, \n, \r, \t 및 \v로 변환되며, 모두 C에서 미리 정의된 변환 시퀀스입니다.
이러한 시퀀스의 대부분은 PHP를 포함한 다른 C-파생 언어에서도 정의되는데, 이는 addcslash()의 출력을 사용하여 문자로 정의된 언어로 코드를 생성하면 원하는 결과를 얻을 수 없다는 것을 의미합니다. 

 

리턴값

변환된 문자

 

예제

"\0..\37"과 같은 경우 0에서 31 사이의 ASCII 코드를 가진 모든 문자를 변환합니다.

예제 #1 addcslashes() 사용예제

<?php
$escaped = addcslashes($not_escaped, "\0..\[email protected]\177..\377");
?>

php 강좌

2022-05-16 21:26

0개의 해답

해결방법이나 팁을 알고 계신다면


© 2022 pinfo. All rights reserved.