Regex for Advanced search feature
| From: | Kevin Murphy | Date: | Fri, 19 Oct 2007 16:48:21 +0000 |
| Subject: | Regex for Advanced search feature | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-263398@lists.php.net to get a copy of this message | ||
I'm trying to create an advanced search feature for my site, and I have it mostly working the way I want. I take whatever search term ($searchkey) that the user submits, explodes if off any spaces between words, and then use that to search for each word separately.
$keys = explode(" ",$searchkey);
So the search phrase of:
Dog Cat Horse
would output :
Array
(
[0] => Dog
[1] => Cat
[2] => Horse
)
However, I would like to add the ability to have phrases in there indicated by " marks. So, if the search phrase was this:
"Dog Cat" Horse
It would output:
Array
(
[0] => Dog Cat
[1] => Horse
)
My concept to solve this is right before I explode the keys as above, to replace any spaces within " marks with a garbage string of characters (say XXXXXXXXXX) using a regular expression, and then later replace it back with a space. However, I suck at regular expressions and can't figure it out.
Anyone have a way for me to accomplish this with a regular expression or with another method?
--
Kevin Murphy
Webmaster: Information and Marketing Services
Western Nevada College
www.wnc.edu
775-445-3326
P.S. Please note that my e-mail and website address have changed from
wncc.edu to wnc.edu.