私はこの答えを見つけました --https://stackoverflow.com/a/7943464/1901367-これは私に引用符と空白を含む検索文字列を解析することを可能にするこの本当に便利なコードを与えました。
preg_match_all('/(?<!")\b\w+\b|(?<=")\b[^"]+/', $subject, $result, PREG_PATTERN_ORDER);
現在のコードでは+や-などのブール演算子が削除されるため、このコードを変更して+や-などのブール演算子をそのまま残す方法を誰かに教えてもらえないかと思いました。
これらの演算子を使用してデータベースの全文ブール検索を実行したいのですが、理解できないこの正規表現に混乱しています。
入力と出力の例。
入力:'"this is some" text is -more-"exlude me"'出力:[this is some] [text] [here] [is] [-more][-excludeme]これらは$に含まれます結果の配列
したがって、スペースで区切られたものはすべて、「」で囲まれたフレーズでない限り、個別のアイテムです。これはすでに機能しますが、-moreと-"exlude me"がある場合、現在の結果は[more]と[exclude me]になり、保持したいマイナス記号が失われます。
前もって感謝します!