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

时间:2010-06-04 20:09:06

标签: php regex escaping pcre

是否存在用于转义要在preg_中使用的字符串的规范函数/方法,以便将任何特殊PCRE字符解释为文字。基本上,一种确保像

这样的东西的知道方式
I am a fancy string (well, that guy ... said I was fancy)

转化为

I am a fancy string \(well, that guy \.\.\. said I was fancy\)

用例类似于

$re = get_string_from_somewhere();
$re = our_magic_function($re);
preg_match_all('%'.$re.'%',$string, $matches);

1 个答案:

答案 0 :(得分:6)

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

如果你正在使用自定义分隔符(就像在你的例子中那样),请确保将第二个参数($ delimiter)设置为正则表达式中使用的参数...所以你的调用将是{{1} }