轉義正規表示式字元

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);
?>

註釋

注意: 此函式可安全用於二進制對象。

參見

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *