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 |
字元 # 被增加為需要轉義的。
|
範例
示例 #1 preg_quote()示例
<?php
$keywords = '$40 for a g3/400';
$keywords = preg_quote($keywords, '/');
echo $keywords; // 返回 \$40 for a g3\/400
?>
示例 #2 將文字中的單詞替換為斜體
<?php
//在這個例子中,preg_quote($word) 用於保持星號原文涵義,使其不使用正規表示式中的特殊語義。
$textbody = "This book is *very* difficult to find.";
$word = "*very*";
$textbody = preg_replace ("/" . preg_quote($word, '/') . "/",
"<i>" . $word . "</i>",
$textbody);
?>
註釋
注意: 此函式可安全用於二進制對象。