-3
我正在尋找PHP preg_match打出多面搜索字符串。PHP preg_match多面搜索字符串
示例性搜索輸入: 雪佛蘭浩城市:西雅圖顏色:沙漠沙丘容量:7個
- 搜索條件:雪佛蘭浩
- 城市小面:西雅圖
- 顏色面:沙漠沙丘
- 容量方面:7
搜索標準將始終在輸入字符串中第一個...但是e方面可以互換。
我正在尋找PHP preg_match打出多面搜索字符串。PHP preg_match多面搜索字符串
示例性搜索輸入: 雪佛蘭浩城市:西雅圖顏色:沙漠沙丘容量:7個
搜索標準將始終在輸入字符串中第一個...但是e方面可以互換。
試試這個。它應該工作。
$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