PHP Conference Nagoya 2025

mb_stristr

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

mb_stristrBusca la primera ocurrencia de un string dentro de otro, insensible a mayúsculas/minúsculas

Descripción

mb_stristr(
    string $haystack,
    string $needle,
    bool $before_needle = false,
    string $encoding = mb_internal_encoding()
): string

mb_stristr() busca la primera ocurrencia de needle en haystack y devuelve la porción de haystack. A diferencia de mb_strstr(), mb_stristr() es insensible a mayúsculas/minúsculas. Si no se encuentra needle, devuelve false.

Parámetros

haystack

El string desde el que obtener la primera ocurrencia de needle

needle

El string a buscar en haystack

before_needle

Determina qué porción de haystack devuelve esta función. Si se establece a true, devuelve todo el haystack desde el comienzo de la primera ocurrencia de needle (excluyendo needle). Si se establece a false, Devuelve todo el haystack desde la primera ocurrencia de needle hasta el final (incluyendo needle).

encoding

El nombre de la codificación de caracteres a usar. Si se omite, se usará la codificación de caracteres interna.

Valores devueltos

Devuelve la porción de haystack, o false si no se encuentra needle.

Ver también

  • stristr() - strstr insensible a mayúsculas y minúsculas
  • strstr() - Encuentra la primera aparición de un string
  • mb_strstr() - Busca la primera ocurrencia de un string dentro de otro

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