(PHP 5 >= 5.2.0, PHP 7, PHP 8)
mb_stristr — Finds first occurrence of a string within another, case insensitive
$haystack
,$needle
,$before_needle
= false
,$encoding
= null
mb_stristr() finds the first occurrence of
needle
in haystack
and returns the portion of haystack
.
Unlike mb_strstr() ,
mb_stristr() is case-insensitive.
If needle
is not found, it returns false
.
haystack
The string from which to get the first occurrence
of needle
needle
The string to find in haystack
before_needle
Determines which portion of haystack
this function returns.
If set to true
, it returns all of haystack
from the beginning to the first occurrence of needle
(excluding needle).
If set to false
, it returns all of haystack
from the first occurrence of needle
to the end (including needle).
encoding
Character encoding name to use. If it is omitted, internal character encoding is used.
Returns the portion of haystack
,
or false
if needle
is not found.
Version | Description |
---|---|
8.0.0 |
needle now accepts an empty string.
|
8.0.0 |
encoding is nullable now.
|
Be aware that if needle is an empty string, mb_stristr return the haystack by default.
For exemple:
<?php
if (mb_stristr("foo", "")) {
echo "We enter in condition";
}
?>
Because in the above exemple the return of mb_stristr is "foo".
So if we do not want this kind of behaviour, we must set the third argument, ($before_needle) to true.
<?php
if (mb_stristr("foo", "", true)) {
echo "We do not enter in condition";
}
?>
It can be useful to know it, specially when needle is dynamic.