我正在使用 Doctrine MongoDB,我在查询生成器中有以下代码:$regexSeller = new Regex('^'.$search['seller'], 'i');
$raw->addOr($builder->matchExpr()->field('seller')->equals($regexSeller));它的工作原理是,通过像这样的“鲍勃”这样的搜索找到好的结果,但是当有像“鲍勃(来自芝加哥)”这样的括号时,它就不起作用了。我想问题出在第一行,但也找不到与括号匹配的方法。
1 回答
MMMHUHU
TA贡献1834条经验 获得超8个赞
您必须对查询的特殊字符进行转义。例如,将 替换为 和 。(
\(
)
\)
在 PHP 中,您可以使用 (https://www.php.net/manual/en/function.preg-quote.php),如下所示:preg_quote
$regexSeller = new Regex('^'.preg_quote($search['seller']), 'i');
让我知道它是否有效!;)
- 1 回答
- 0 关注
- 80 浏览
添加回答
举报
0/150
提交
取消