我已经尝试了以下代码行,以使用PHP格式的Mongo正则表达式获得匹配酒店名称的结果。但是我不知道如何转义特殊字符:
$filter_array = array_merge($filter_array,
array('name' => array('$regex' => new MongoRegex("/".$hotel_name."/i"))));
通过这个,我获得了匹配酒店的输出,但如果假设酒店名称像"ABC(3 星级)",那么我无法获得此类酒店的结果,因为该酒店名称具有特殊字符"("和")"。
如何转义酒店名称中如此特殊的字符?
它似乎使用 PCRE 样式表达式,在这种情况下使用preg_quote
:
new MongoRegex("/".preg_quote($hotel_name, '/')."/i")