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

How to escape special characters using Mongo regex in PHP format

我尝试了以下代码行,使用 PHP 格式的 Mongo 正则表达式来获取匹配酒店名称的结果。但是我不知道如何转义特殊字符:

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

通过这个我得到了匹配酒店的输出,但是如果假设酒店名称像 "ABC ( 3 Stars)" 那么我无法获得这种酒店的结果,因为这个酒店名称有特殊字符“(”和“ )".

如何转义酒店名称中的这种特殊字符?

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

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