law Posted May 4, 2009 Share Posted May 4, 2009 I need to search a string for a set of key words. I need to match up these key words regardless of whitespace and capitalization. Can anyone tell me how I can accomplish this in a similar construct to my function example below? Here is my really ugly example: function does_contain ($string, $input){ $var = strrpos($string, $input); if ($var === false) { $var= "no"; } else { $var = "yes"; } return $var; } $in = does_contain("IN"," IN "); echo $in; Quote Link to comment Share on other sites More sharing options...
thebadbad Posted May 4, 2009 Share Posted May 4, 2009 You can use stripos() instead of strrpos() for case-insensitivity. And you can trim() the input (needle) to remove any leading or trailing whitespace: <?php function does_contain($haystack, $needle) { if (stripos($haystack, trim($needle)) === false) { return 'no'; } else { return 'yes'; } } echo does_contain("IN"," IN "); ?> Is that what you want? Quote Link to comment Share on other sites More sharing options...
Ken2k7 Posted May 4, 2009 Share Posted May 4, 2009 I would just do this: function does_contain ($haystack, $needle) { return stripos($haystack, trim($needle)); } In fact, I wouldn't do that. It's redundant. But if you really want those strings - function does_contain ($haystack, $needle) { return stripos($haystack, trim($needle)) === false? 'no' : 'yes'; } Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.