PHP 8.4.1 Released!

mb_stristr

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

mb_stristrFinds first occurrence of a string within another, case insensitive

Опис

mb_stristr(
    string $haystack,
    string $needle,
    bool $before_needle = false,
    ?string $encoding = null
): string|false

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.

Журнал змін

Версія Опис
8.0.0 needle тепер може бути порожнім рядком.
8.0.0 encoding тепер може бути null.

Прогляньте також

  • stristr() - Case-insensitive strstr
  • strstr() - Find the first occurrence of a string
  • mb_strstr() - Finds first occurrence of a string within another

add a note

User Contributed Notes 1 note

up
0
nowfel dot terki at mailfence dot com
2 years ago
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.
To Top