使用AND、OR和NOT運算子的PHP全文搜尋功能
P粉076987386
P粉076987386 2023-09-05 15:06:32
0
1
529
<p>新手問題: 我正在嘗試使用php和eloquent在搜尋字串上實現全文搜尋。 </p> <pre class="brush:php;toolbar:false;">$searchstring = " (victim suspect) crime -covid"; $searchresult = RssItem::whereRaw("MATCH (description) AGAINST ('$searchstring' IN BOOLEAN MODE)")->get();</pre> <p>我希望我的用戶能夠設定類似這樣的搜尋字串:</p> <pre class="brush:php;toolbar:false;">$searchstring = "(victim OR suspect) AND crime NOT covid";</pre> <p>有沒有簡單的方法可以將使用者輸入轉換為php中mysql的布林全文搜尋字串? </p>
P粉076987386
P粉076987386

全部回覆(1)
P粉218361972

我已經通過以下方式完成了它:

$searchstring = '(victim OR suspect) AND crime NOT covid';
  $searchstring = str_replace(" OR ", ' ', $searchstring);
  $searchstring = str_replace(" AND ", ' +', $searchstring);
  $searchstring = str_replace(" NOT ", ' -', $searchstring);
  $searchstring = '+'.$searchstring;

  $searchresult = RssItem::whereRaw("MATCH (description) AGAINST ('$searchstring' IN BOOLEAN MODE)")->get();

但也許有更好的方法? :-)

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板