私は事前検索ページを作成しようとしています。PHPが事前に準備または爆発する
pizza @Chicago #312 !IL *606
これは、あらかじめ検索の例であり、この検索は「ピザの土地」については、例えば、その上に単語「ピザ」を持っている任意の店舗名を探します。 "@Chicago"は、シカゴにあるフィルター検索レストランを絞り込んでいます。 "#312"はレストランの電話番号を検索します。例えば、 "#3125436754"のように10桁の電話番号も使用できます。 "!IL"はイリノイ州からレストランを検索します。 "* 606"はレストランの郵便番号を検索しますが、5桁の郵便番号も使用できます(例: "#60643")。
アドバンス検索パラメータは、市の場合@
、状態の場合は!
、*
郵便番号、#
の電話番号です。
必須でない場合は、すべての検索パラメータを使用する必要はありません。検索の例を次に示します。
これは、レストランシカゴを検索します。
#312654 *60644
これは、郵便番号 "60644"内の電話番号 "312654"のレストランを検索します。
Pasta !NY
これは、州のNY内に単語パスタを持つレストラン名を検索します。
*60642
"60642"郵便番号内のレストランを検索します。
Pizza Land
これはパラメータなしの通常の検索です。
データベースが準備できており、検索クエリを書き留めることができます。問題は、私は単一の検索テキスト入力を使用しています。私は、単語の分離のためのPHPの爆発または同様のオプションが必要です。私が言ったように、事前の検索パラメータはありません。 1つまたは2つまたは3つまたは4つあり得る。
検索クエリからパラメータを抽出するには、php関数が必要です。
あなたのコードはどこですか? – Gert
正規表現を使って試してみることができますか? '*'はエスケープする必要があります。あなたはワイルドカードで 'like'を使うことができます..どのように開始/終了が決まっていますか? – chris85
機能が必要ですか?なぜ関数を書かないのですか? –