php 正则表达式字符如何转义
在php中可以通过“preg_last_error”函数将正则表达式字符进行转义,其语法是“string preg_quote ( string $str [, string $delimiter = NULL ] )”。
推荐:《PHP视频教程》
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.