Hi, Wednesday, October 27, 2004, 9:04:14 PM, you wrote: k> Hi all. k> I have a problem: i want subs any characters from a string but i don't k> have fix the problem. k> The string that i want to manipulate is the value from a text field of a k> search engine. k> The characters that i want to try substitute is &&, &, +, -, |, ||, or, k> and, not in not case-sensitive mode with "". k> I have create a pattern like this: k> $str = "Sybase and PHP not ASP or JSP && Oracle not Andy | Perl || k> Python + Ruby"; k> $pattern = k> "/(\band\b)|(\bnot\b)|(\bor\b)|(\b&&\b)|(\b&\b)|(\b\.\b)|(\b\+\b)|(\b\|\|\b)|(\b\|\b)/i"; k> echo $str = preg_replace($pattern, "", $str, -1); k> But characters like + && don't subs with "". k> Thanks to all and sorry my bad language this may get you started preg_replace('!\s(and|not|or|&&|\||\|\||)\s|(\+|-\s*)!i',' ',$string); you have to replace with ' ' or the words will run into each other and you may also get the + or - with no trailing space. -- regards, Tom -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php