Retorna todo o haystack
iniciando a partir de (e incluindo) a primeira
ocorrência de needle
até o final.
haystack
A string onde será feita a pesquisa.
needle
A string que está sendo procurada.
Antes do PHP 8.0.0, se needle
não for uma string, ela será convertida
para um número inteiro e aplicada como o valor ordinal de um caractere.
Este comportamento tornou-se defasado a partir do PHP 7.3.0 e depender dele é altamente
desaconselhado. Dependendo do comportamento pretendido, o parâmetro
needle
deve ser explicitamente convertido em string
ou uma chamada explícita para chr() deve ser realizada.
before_needle
Se igual a true
, stristr()
retorna a parte de haystack
antes da
primeira ocorrência de needle
(excluindo-o).
needle
e haystack
são examinados de maneira insensível a maiúsculas/minúsculas.
Retorna a substring correspondente. Se needle
não for
encontrada, retorna false
.
Versão | Descrição |
---|---|
8.2.0 | A redução de todas as letras a maiúsculas ou minúsculas não depende mais da localidade definida com setlocale(). Somente a redução de todas as letras ASCII a maiúsculas ou minúsculas será feita. Os bytes não ASCII serão comparados por seu valor de byte. |
8.0.0 |
O parâmetro needle agora aceita uma string vazia.
|
8.0.0 |
Passar um int em needle não é mais suportado.
|
7.3.0 |
Passar um int em needle tornou-se defasado.
|
Exemplo #1 Exemplo de stristr()
<?php
$email = 'USER@EXAMPLE.com';
echo stristr($email, 'e'); // mostra ER@EXAMPLE.com
echo stristr($email, 'e', true); // mostra US
?>
Exemplo #2 Testando se uma string é encontrada ou não
<?php
$string = 'Olá Mundo!';
if(stristr($string, 'Terra') === FALSE) {
echo '"Terra" não encontrado na string';
}
// mostra: "Terra" não encontrado na string
?>
Exemplo #3 Procurando por uma "não string"
<?php
$string = 'APPLE';
echo stristr($string, 97); // 97 = 'a' minúsculo
// mostra: APPLE
?>
Nota: Esta função é compatível com dados binários.