i need to parse a search string for keywords and phrases in php, for example
string 1: value of "measured response" detect goal "method valuation" study
will yield: value,of,measured reponse,detect,goal,method valuation,study
i also need it to work if the string has:
- no phrases enclosed in quotes,
- any number of phrases encloses in quotes with any number of keywords outside the quotes,
- only phrases in quotes,
- only space-separated keywords.
i’m leaning towards using preg_match with the pattern '/(\".*\")/' to get the phrases into an array, then remove the phrases from the string, then finally work the keywords into the array. i just can’t pull everything together!
i’m also thinking of replacing spaces outside quotes with commas. then explode them to an array. if that’s a better option, how do i do that with preg_replace?
is there a better way to go about this? help! thanks much, everyone
This should yield the results you are looking for.
Explanation :