PHP 正则表达式函数

PHP preg_quote() 函数在正则表达式语法中的每个字符前面放置一个反斜杠。如果您有一个需要在某些文本中匹配的运行时字符串,并且该字符串可能包含特殊的正则表达式字符,那么这非常有用。

特殊的正则表达式字符是:  . \ + * ? [ ^ ] $ ( ) { } = ! < > | : - #

请注意 / 不是特殊的正则表达式字符。

语法

preg_quote(str, delimiter) 

参数

str必填。 指定输入字符串。
delimiter可选。 当指定(单个字符)时,它也会被转义。这对于转义 PCRE 函数所需的分隔符很有用。 / 是最常用的分隔符。默认值为 null。

返回值

返回带引号(转义)的字符串。

示例:preg_quote () 示例

下面的示例显示了 preg_quote() 函数的用法。

<?php
//需要转义的字符串
$str = 'send $100 to D/303';

//使用preg_quote函数
$str = preg_quote($str, '/');

//显示结果
echo $str;
?> 

上述代码的输出将是:

send \$100 to D\/303 

示例:将给定文本中的单词斜体化

在下面的示例中,单词包含星号的内容为斜体。由于星号在正则表达式中具有特殊含义。因此,首先使用 preg_quote() 函数对其进行转义。

<?php
//星号在正则中有特殊含义
//表达式,因此应该首先转义
$str = "This book is *very* difficult to find.";

$word = "*very*";

//将$word斜体化
$str = preg_replace ("/".preg_quote($word, '/')."/",
                     "<i>".$word."</i>", $str);

//显示结果
echo $str;
?> 

上述代码的输出将是:

This book is <i>*very*</i> difficult to find.