(PHP 4, PHP 5)

stristrCase-insensitive strstr()


string stristr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

Returns all of haystack starting from and including the first occurrence of needle to the end.



The string to search in


If needle is not a string, it is converted to an integer and applied as the ordinal value of a character.


If TRUE, stristr() returns the part of the haystack before the first occurrence of the needle (excluding needle).

needle and haystack are examined in a case-insensitive manner.

Return Values

Returns the matched substring. If needle is not found, returns FALSE.


Version Description
5.3.0 Added the optional parameter before_needle.
4.3.0 stristr() was made binary safe.


Example #1 stristr() example

stristr($email'e'); // outputs
echo stristr($email'e'true); // As of PHP 5.3.0, outputs US

Example #2 Testing if a string is found or not

'Hello World!';
stristr($string'earth') === FALSE) {
'"earth" not found in string';
// outputs: "earth" not found in string

Example #3 Using a non "string" needle

stristr($string97); // 97 = lowercase a
// outputs: APPLE


Note: This function is binary-safe.

See Also

  • strstr() - Find the first occurrence of a string
  • strrchr() - Find the last occurrence of a character in a string
  • stripos() - Find the position of the first occurrence of a case-insensitive substring in a string
  • strpbrk() - Search a string for any of a set of characters
  • preg_match() - Perform a regular expression match