我已尝试使用以下代码行来获取使用PHP格式的Mongo正则表达式匹配酒店名称的结果。但我没有得到如何逃避特殊字符:
$filter_array = array_merge($filter_array,
array('name' => array('$regex' => new MongoRegex("/".$hotel_name."/i"))));
通过这个,我得到匹配酒店的输出,但如果假设酒店名称是" ABC(3星)"然后我无法得到这种酒店的结果,因为这个酒店名称具有特殊性格"("和")"。
如何逃避酒店名称中的这种特殊字符?
答案 0 :(得分:8)
它似乎使用PCRE样式表达式,在这种情况下使用preg_quote
:
new MongoRegex("/".preg_quote($hotel_name, '/')."/i")