在PHP应用之前转义正则表达式模式的函数
在PHP使用 preg_quote()函数在运行时应用之前转义正则表达式模式。 preg_quote()函数在指定字符串中的每个字符前面放置一个反斜杠,这将是PHP中正则表达式语法的一部分,从而使它们成为转义序列。这些字符包括:
. \ + * ? [ ^ ] $ ( ) { } = ! | : – #
句法:
string preg_quote( string $str, string $delimiter = NULL )
参数:
- $str:此参数保存输入字符串。
- $delimiter:可选参数。最常见的分隔符是“/”,因为它不是通常由 preg_quote() 处理的特殊正则表达式字符。主要与 preg_replace()函数结合使用。
返回:它返回包含字符串的分隔符。
下面的程序说明了 preg_quote()函数。
方案一:
输出:
Before Processing - Welcome to GfG! (+ The course fee. $400) /
After Processing - Welcome to GfG\! \(\+ The course fee\. \$400\) /
请注意,在每个特殊字符前都放置了一个反斜杠,但对于正斜杠则没有。为此,我们可以使用分隔符,参见下面的程序:
方案二
输出:
Before Processing - Welcome to GfG! (+ The course fee. $400) /
After Processing - Welcome to GfG\! \(\+ The course fee\. \$400\) \/
下面的程序演示了preg_quote()和preg_replace()函数的组合使用。
方案三:
" . $word1 . "", $str);
echo "BOLD ONLY - " . $processedStr1 . PHP_EOL;
// The second string only applies italics to
// word 2, preg_quote() escapes the [ ]
$processedStr2 = preg_replace("/" . preg_quote($word2, '/')
. "/", "" . $word2 . "", $str);
echo "ITALIC ONLY - " . $processedStr2 . PHP_EOL;
// Combining both text formattings and display
$bothReplacementsCombined = preg_replace("/" .
preg_quote($word2, '/') . "/",
"" . $word2 . "", $processedStr1);
echo "BOTH COMBINED - " . $bothReplacementsCombined;
?>
输出:
BOLD ONLY - The *article* was written by [GFG]
ITALIC ONLY - The *article* was written by [GFG]
BOTH COMBINED - The *article* was written by [GFG]
注意:要注意文本格式标记的应用,您应该在本地服务器上运行PHP并回显到浏览器。