-3
ファセット検索文字列を解説するPHP preg_matchを探しています。ファセット検索文字列のPHP preg_match
例えば、検索入力: シボレータホ市:シアトル色:砂漠砂丘容量:7つの
- 検索基準:シボレータホ
- 街のファセット:シアトル
- 色ファセット:砂漠砂丘
- capacity facet:7
検索条件は常に入力文字列内で最初になりますが、thファセットは交換可能である可能性がある。
ファセット検索文字列を解説するPHP preg_matchを探しています。ファセット検索文字列のPHP preg_match
例えば、検索入力: シボレータホ市:シアトル色:砂漠砂丘容量:7つの
検索条件は常に入力文字列内で最初になりますが、thファセットは交換可能である可能性がある。
これを試してください。それは動作するはずです。
$criteria = '';
$facets = array();
foreach (explode(' ' , $input) as $word) {
// This word is a facet
if (strpos($word, ':')) {
list($facet_name, $facet_criteria) = explode(':', $word, 1);
$facets[$facet_name] = $facet_criteria;
// This word is a search criteria
} else {
$criteria .= $word . ' ';
}
}
入力($input
値):
chevy tahoe city:seattle color:desert dune capacity:7
出力:
$criteria: chevy tahoe dune
$facets: Array (
[city] => seattle
[color] => desert
[capacity] => 7
)
これは、可能な解決策を見る別の方法について説明しています。私はあなたの答えを微調整する必要があります複数の単語ファセットを可能にする...しかしそれにもかかわらず、あなたの答えは間違いなく助けている。ありがとう – tomwag
あなたは何を試してみましたか?あなたはどんな出力を期待していましたか?どのようなアウトプットを得ましたか? – abcde123483
形式を少し変更することによって入力をより「解析可能」にしようとするとよいでしょう。 – Jon