PHP preg_quote() 函数
PHP preg_last_error() 函数用于转义正则表达式字符
函数原型
string preg_quote ( string $str [, string $delimiter = NULL ] )
preg_quote() 需要参数 str 并向其中每个正则表达式语法中的字符前增加一个反斜线
这通常用于你有一些运行时字符串 需要作为正则表达式进行匹配的时候
正则表达式特殊字符有: . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -
参数
参数 | 说明 |
---|---|
$str | 输入字符串 |
$delimiter | 如果指定了可选参数 delimiter,它也会被转义 这通常用于 转义 PCRE 函数使用的分隔符 / 是最通用的分隔符 |
返回值
返回转义后的字符串
范例
<?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); echo $textbody;
运行以上 PHP 范例,输出结果如下
This book is <i>*very*</i> difficult to find.