PHP 8.5.0 Alpha 1 available for testing

mb_stristr

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

mb_stristrEncuentra la primera ocurrencia de una cadena en otra, sin tener en cuenta la casilla

Descripción

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

mb_stristr() encuentra la primera ocurrencia de needle en haystack y devuelve la porción de haystack. A diferencia de mb_strstr(), mb_stristr() no distingue entre mayúsculas y minúsculas. Si needle no se encuentra, la función devolverá false.

Parámetros

haystack

La cadena desde la cual se recupera la primera ocurrencia de needle

needle

La cadena a buscar en haystack

before_needle

Determina qué porción de haystack devuelve esta función. Si se establece en true, la función devolverá toda la cadena haystack desde el principio hasta la primera ocurrencia de needle (needle excluido). Si se establece en false, la función devolverá toda la cadena haystack desde la primera ocurrencia de needle hasta el final (needle incluido).

encoding

Nombre del juego de caracteres a utilizar. Si este parámetro se omite, se utiliza el juego de caracteres interno.

Valores devueltos

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

Historial de cambios

Versión Descripción
8.0.0 needle ahora acepta una cadena vacía.
8.0.0 encoding ahora es nullable.

Ver también

  • stristr() - Versión insensible a mayúsculas y minúsculas de strstr
  • strstr() - Encuentra la primera ocurrencia en un string
  • mb_strstr() - Encuentra la primera ocurrencia de una cadena en otra

add a note

User Contributed Notes 1 note

up
1
nowfel dot terki at mailfence dot com
3 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