Go here and get charprobe http://www.dextronet.com/charprobe.php It's a super utility to have.

Look up the hex code for a space, "/x20" as I recall.

Then pick a non-printable code that you like e.g., /x83 or a printable one that users cannot enter.

Then simply preg_replace("%/x20+%", "/83", $string);    //one or more spaces

If you want to preserve the number of spaces don't use "+".


Kevin Murphy wrote:
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?


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to