PHP 検索関数を作成したいのですが、Google のような演算子を使用しています。例えば:
these words "this phrase" location:"Los Angeles" operator:something
location: のような演算子は、スペースを含む値をサポートすることが重要です (したがって、この例では引用符を使用しています)。そのため、単純に分割したり、標準のトークンを使用したりすることはできません。ある時点で誰かがこれを行うためのライブラリを作成したと思いますが、見つかりません。
または、ライブラリが必要ない場合は、これを行う良い方法が良いでしょう。
必要なのは検索クエリの解析だけです。つまり、上記のクエリから、次のもので構成される配列を取得しても問題ありません。
[0] => these
[1] => words
[2] => "this phrase"
[3] => location:"Los Angeles"
[4] => operator:something
そこから、データベースの検索機能を構築できます。