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

mb_stristrEncontra a primeira ocorrência de uma string dentro de outra, sem diferenciar maiúsculas de minúsculas


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

mb_stristr() encontra a primeira ocorrência de needle em haystack e retorna a parte de haystack. Ao contrário de mb_strstr(), mb_stristr() não faz distinção entre maiúsculas e minúsculas. Se needle não for encontrado, retorna false.



A string da qual obter a primeira ocorrência de needle


A string a ser encontrada em haystack


Determina qual parte de haystack esta função retorna. Se definido como true, retorna toda haystack desde o início até a primeira ocorrência de needle (excluindo needle). Se definido como false, retorna toda haystack desde a primeira ocorrência de needle até o final (incluindo needle).


Nome da codificação de caracteres a ser usada. Se omitido, a codificação interna de caracteres é usada.

Valor Retornado

Retorna a parte de haystack, ou false se needle não for encontrado.

Registro de Alterações

Versão Descrição
8.0.0 O parâmetro needle agora aceita uma string vazia.
8.0.0 O parâmetro encoding agora pode ser nulo.

Veja Também

  • stristr() - Case-insensitive strstr
  • strstr() - Find the first occurrence of a string
  • mb_strstr() - Encontra a primeira ocorrência de uma string em outra

add a note

User Contributed Notes 1 note

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:

if (mb_stristr("foo", "")) {
"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.

if (mb_stristr("foo", "", true)) {
"We do not enter in condition";

It can be useful to know it, specially when needle is dynamic.
To Top