在php中可以通過“preg_last_error”函數將正則表達式字符進行轉義,其語法是“string preg_quote ( string $str [, string $delimiter = NULL ] )”。
preg_last_error 函數用于轉義正則表達式字符。
語法
string preg_quote ( string $str [, string $delimiter = NULL ] )
preg_quote() 需要參數 str 并向其中 每個正則表達式語法中的字符前增加一個反斜線。 這通常用于你有一些運行時字符串 需要作為正則表達式進行匹配的時候。
正則表達式特殊字符有: . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -
參數說明:
$str: 輸入字符串。
$delimiter: 如果指定了可選參數 delimiter,它也會被轉義。這通常用于 轉義 PCRE 函數使用的分隔符。 / 是最通用的分隔符。
返回值
返回轉義后的字符串。
實例
實例 1
<?php $keywords = '$40 for a g3/400'; $keywords = preg_quote($keywords, '/'); echo $keywords; ?>
執行結果轉義了 $ 和 / 特殊字符,如下所示:
返回 \$40 for a g3\/400
將文本中的單詞替換為斜體
<?php //在這個例子中,preg_quote($word) 用于保持星號原文涵義,使其不使用正則表達式中的特殊語義。 $textbody = "This book is *very* difficult to find."; $word = "*very*"; $textbody = preg_replace ("/" . preg_quote($word) . "/", "<i>" . $word . "</i>", $textbody); echo $textbody; ?>
執行結果如下所示:
This book is <i>*very*</i> difficult to find.