如何使用PHP格式的Mongo正则表达式转义特殊字符

时间:2015-01-15 11:10:41

标签: php regex mongodb

我已尝试使用以下代码行来获取使用PHP格式的Mongo正则表达式匹配酒店名称的结果。但我没有得到如何逃避特殊字符:

$filter_array = array_merge($filter_array,
array('name' => array('$regex' => new MongoRegex("/".$hotel_name."/i"))));

通过这个,我得到匹配酒店的输出,但如果假设酒店名称是" ABC(3星)"然后我无法得到这种酒店的结果,因为这个酒店名称具有特殊性格"("和")"。

如何逃避酒店名称中的这种特殊字符?

1 个答案:

答案 0 :(得分:8)

它似乎使用PCRE样式表达式,在这种情况下使用preg_quote

new MongoRegex("/".preg_quote($hotel_name, '/')."/i")