Интересно, знает ли кто-нибудь о пакете PHP (или правильном термине для поиска в Google) для использования терминов расширенного поиска и преобразования их в ассоциативный массив.
Пример 1:
$term = 'blue birds country:england'
Будет преобразован во что-то вроде:
[
'country' => 'england'
'other' => 'blue blirds'
]
Пример 2:
$term = 'country:"united kingdom" blue birds month:January'
Будет преобразован вчто-то вроде:
[
'country' => 'united kingdom',
'month' => 'January',
'other' => 'blue blirds'
]
Я пытался сделать это с помощью preg_match, но я борюсь с различием между отдельными словами в группе (например, group:word
) и несколькими словами в группе внутри двойных кавычек (например, group:"word1 word2 word3"
).