| : - # ">

preg_quote

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

preg_quote轉(zhuǎn)義正則表達(dá)式字符

說(shuō)明

preg_quote(string $str, string $delimiter = null): string

preg_quote()需要參數(shù) str 并向其中 每個(gè)正則表達(dá)式語(yǔ)法中的字符前增加一個(gè)反斜線。 這通常用于你有一些運(yùn)行時(shí)字符串 需要作為正則表達(dá)式進(jìn)行匹配的時(shí)候。

正則表達(dá)式特殊字符有: . \ + * ? [ ^ ] $ ( ) { } = ! < > | : - #

注意 / 不是正則表達(dá)式特殊字符。

注意:

注意:preg_quote() 的應(yīng)用場(chǎng)景不是用于 preg_replace() 的 $replacement 字符串參數(shù)。

參數(shù)

str

輸入字符串

delimiter

如果指定了可選參數(shù) delimiter,它也會(huì)被轉(zhuǎn)義。這通常用于 轉(zhuǎn)義PCRE函數(shù)使用的分隔符。 / 是最常見(jiàn)的分隔符。

返回值

返回轉(zhuǎn)義后的字符串。

更新日志

版本 說(shuō)明
7.3.0 字符 # 被增加為需要轉(zhuǎn)義的。

范例

示例 #1 preg_quote()示例

<?php
$keywords 
'$40 for a g3/400';
$keywords preg_quote($keywords'/');
echo 
$keywords// 返回 \$40 for a g3\/400
?>

示例 #2 將文本中的單詞替換為斜體

<?php
//在這個(gè)例子中,preg_quote($word) 用于保持星號(hào)原文涵義,使其不使用正則表達(dá)式中的特殊語(yǔ)義。

$textbody "This book is *very* difficult to find.";
$word "*very*";
$textbody preg_replace ("/" preg_quote($word'/') . "/",
                          
"<i>" $word "</i>",
                          
$textbody);
?>

注釋

注意: 此函數(shù)可安全用于二進(jìn)制對(duì)象。

參見(jiàn)