PHPでフィルターシステムを構築しています。キーワードの一致に基づいてテキストを優先する必要があります。フィルターは、さまざまな種類のキーワードを認識する必要があります。
タイプの 1 つは通常の単語ですkeyword1 keyword2
。これにより、「keyword1」と「keyword2」の両方を含むテキストが、テキスト内で連続して発生するかどうかに関係なく、フィルタリングされます。
もう 1 つのタイプは、単語の正確な組み合わせです"keyword1 keyword2"
。これにより、完全に一致する組み合わせ "keyword1 keyword2" を持つ記事が優先されます。
他のタイプもありますが、ここでは関係ありません。
キーワード タイプは組み合わせることができるため、keyword1 "keyword2 keyword3"
有効であり、「keyword1」と完全に一致する「keyword2 keyword3」の両方を含む記事を検索します。
最初のタイプでは、 an を使用explode(' ', $keywords)
して配列内のキーワードを取得できます。keyword1 "keyword2 keyword3"
ただし、引用符内のテキストも分離されるため、これは混乱します。
したがって、キーワードを分離する関数が必要ですが、引用符でテキストを分離しません。それができる機能はありますか?そうでない場合は、正規表現を使用する方法はありますか?