转义字符串以在preg_正则表达式中使用

Ala*_*orm 2 php regex pcre escaping

是否存在用于转义要在a中使用的字符串的规范函数/方法,以便将preg_任何特殊PCRE字符解释为文字.基本上,一种知道的方式来确保类似的东西

I am a fancy string (well, that guy ... said I was fancy)
Run Code Online (Sandbox Code Playgroud)

变成了

I am a fancy string \(well, that guy \.\.\. said I was fancy\)
Run Code Online (Sandbox Code Playgroud)

用例就像是

$re = get_string_from_somewhere();
$re = our_magic_function($re);
preg_match_all('%'.$re.'%',$string, $matches);
Run Code Online (Sandbox Code Playgroud)

irc*_*ell 6

我相信preg_quote()是你正在寻找的答案......

如果您正在使用自定义分隔符(就像您在示例中所做的那样),请确保将第二个参数($ delimiter)设置为正则表达式中使用的参数...所以您的调用将是 preg_quote($string, '%');