我正在使用 Doctrine MongoDB,我在查詢生成器中有以下代碼:$regexSeller = new Regex('^'.$search['seller'], 'i');
$raw->addOr($builder->matchExpr()->field('seller')->equals($regexSeller));它的工作原理是,通過像這樣的“鮑勃”這樣的搜索找到好的結(jié)果,但是當(dāng)有像“鮑勃(來自芝加哥)”這樣的括號(hào)時(shí),它就不起作用了。我想問題出在第一行,但也找不到與括號(hào)匹配的方法。
1 回答

MMMHUHU
TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
您必須對(duì)查詢的特殊字符進(jìn)行轉(zhuǎn)義。例如,將 替換為 和 。(
\(
)
\)
在 PHP 中,您可以使用 (https://www.php.net/manual/en/function.preg-quote.php),如下所示:preg_quote
$regexSeller = new Regex('^'.preg_quote($search['seller']), 'i');
讓我知道它是否有效!;)
- 1 回答
- 0 關(guān)注
- 101 瀏覽
添加回答
舉報(bào)
0/150
提交
取消