Jump to content

[SOLVED] checking to see if a string contains a specific word?


law

Recommended Posts

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;

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?

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';
}

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.