разбор строки поиска для фраз и ключевых слов

мне нужно разобрать поисковую строку на ключевые слова и фразы в php, например

строка 1: value of "measured response" detect goal "method valuation" study

выдаст: value,of,measured reponse,detect,goal,method valuation,study

Мне также нужно, чтобы это работало, если строка содержит:

  1. без фраз, заключенных в кавычки,
  2. любое количество фраз, заключенных в кавычки, с любым количеством ключевых слов вне кавычек,
  3. только фразы в кавычках,
  4. только ключевые слова, разделенные пробелами.

я склоняюсь к использованию preg_match с шаблоном '/(\".*\")/', чтобы собрать фразы в массив, затем удалить фразы из строки, затем окончательно обработать ключевые слова в массиве. я просто не могу собрать все вместе!

я также думаю заменить пробелы вне кавычек на запятые. затем разложить их в массив. если это лучший вариант, то как это сделать с помощью preg_replace?

есть ли лучший способ сделать это? помогите! большое спасибо всем

7
задан Ana Ban 30 October 2011 в 05:13
поделиться