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; Link to comment https://forums.phpfreaks.com/topic/156855-solved-checking-to-see-if-a-string-contains-a-specific-word/ 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? Link to comment https://forums.phpfreaks.com/topic/156855-solved-checking-to-see-if-a-string-contains-a-specific-word/#findComment-826264 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'; } Link to comment https://forums.phpfreaks.com/topic/156855-solved-checking-to-see-if-a-string-contains-a-specific-word/#findComment-826268 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.