如何使用 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")
我尝试了以下代码行,使用 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")