정규식(PCRE) preg_quote
(PHP 4, PHP 5, PHP 7, PHP 8)
preg_quote — 정규 표현식 문자 인용
설명
preg_quote(string $str
, ?string $delimiter
= null
): string
preg_quote()는 str
을 취하고 정규식 구문의 일부인 모든 문자 앞에 백슬래시를 넣습니다. 이는 일부 텍스트에서 일치시켜야 하는 런타임 문자열이 있고 문자열에 특수 정규식 문자가 포함될 수 있는 경우에 유용합니다.
특수 정규식 문자는 다음과 같습니다. . \ + * ? [ ^ ] $ ( ) { } = ! < > | : - #
/
는 특수 정규식 문자가 아닙니다.
메모: preg_quote()는 preg_replace() 등의 $replacement 문자열에 적용되지 않습니다.
매개변수
str
- 입력 문자열입니다.
delimiter
- 선택적
delimiter
가 지정된 경우 이스케이프도 수행됩니다. 이는 PCRE 함수에 필요한 구분 기호를 이스케이프하는 데 유용합니다./
는 가장 일반적으로 사용되는 구분 기호입니다.
반환 값
따옴표로 묶인(이스케이프 처리된) 문자열을 반환합니다.
변경 로그
버전 | 설명 |
---|---|
7.3.0 | 이제 # 문자가 인용됩니다. |
7.2.0 | delimiter 는 이제 nullable입니다. |
Examples
예제 #1 preg_quote() 예제
<?php
$keywords = '$40 for a g3/400';
$keywords = preg_quote($keywords, '/');
echo $keywords; // returns \$40 for a g3\/400
?>
예제 #2 일부 텍스트 내에서 단어 기울임꼴
<?php
// In this example, preg_quote($word) is used to keep the
// asterisks from having special meaning to the regular
// expression.
$textbody = "This book is *very* difficult to find.";
$word = "*very*";
$textbody = preg_replace ("/" . preg_quote($word, '/') . "/",
"<i>" . $word . "</i>",
$textbody);
?>
메모
참고: 이 함수는 바이너리 안전합니다.
기타
- PCRE Patterns
- escapeshellcmd() - 이스케이프 쉘 메타 문자