在php中可以通過(guò)“preg_last_error”函數(shù)將正則表達(dá)式字符進(jìn)行轉(zhuǎn)義,其語(yǔ)法是“string preg_quote ( string $str [, string $delimiter = NULL ] )”。
推薦:《PHP視頻教程》
preg_last_error 函數(shù)用于轉(zhuǎn)義正則表達(dá)式字符。
語(yǔ)法
string preg_quote ( string $str [, string $delimiter = NULL ] )
preg_quote() 需要參數(shù) str 并向其中 每個(gè)正則表達(dá)式語(yǔ)法中的字符前增加一個(gè)反斜線。 這通常用于你有一些運(yùn)行時(shí)字符串 需要作為正則表達(dá)式進(jìn)行匹配的時(shí)候。
正則表達(dá)式特殊字符有: . + * ? [ ^ ] $ ( ) { } = ! < > | : –
參數(shù)說(shuō)明:
$str: 輸入字符串。
$delimiter: 如果指定了可選參數(shù) delimiter,它也會(huì)被轉(zhuǎn)義。這通常用于 轉(zhuǎn)義 PCRE 函數(shù)使用的分隔符。 / 是最通用的分隔符。
返回值
返回轉(zhuǎn)義后的字符串。
實(shí)例
實(shí)例 1
<?php $keywords = '$40 for a g3/400'; $keywords = preg_quote($keywords, '/'); echo $keywords; ?>
執(zhí)行結(jié)果轉(zhuǎn)義了 $ 和 / 特殊字符,如下所示:
返回 $40 for a g3/400
將文本中的單詞替換為斜體
<?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); echo $textbody; ?>
執(zhí)行結(jié)果如下所示:
This book is <i>*very*</i> difficult to find.