PHP Conference Nagoya 2025

mb_stristr

(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

Descrição

mb_stristr(
    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.

Parâmetros

haystack

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

needle

A string a ser encontrada em haystack

before_needle

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).

encoding

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() - strstr insensível a maiúsculas/minúsculas
  • strstr() - Encontra a primeira ocorrência de uma string
  • mb_strstr() - Encontra a primeira ocorrência de uma string em outra

adicione uma nota

Notas Enviadas por Usuários (em inglês) 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