Aprenda a verificar se uma string contém outra no PHP

Veja como verificar se uma string contém outra no PHP utilizando diferentes funções nativas para manipulação de texto.

Como verificar se uma string contém outra no PHP?

Frequentemente precisamos verificar se um determinado trecho de texto está presente dentro de uma string. O PHP oferece diversas formas de fazer essa verificação, como str_contains(), strpos() e preg_match().

Verificando a existência de uma string com str_contains() (PHP 8+)

A função str_contains() foi introduzida no PHP 8 e retorna true ou false se a string contiver um determinado valor:

<?php
$frase = "Aprender PHP é muito útil";
if (str_contains($frase, "PHP")) {
    echo "A string contém 'PHP'.";
} else {
    echo "A string não contém 'PHP'.";
}
?>

Aqui, a função retorna true, pois a palavra "PHP" está presente na string.

Usando strpos() para encontrar uma string (Compatível com versões anteriores)

Para versões anteriores ao PHP 8, podemos usar strpos(), que retorna a posição da string dentro do texto ou false caso não encontre:

<?php
$frase = "O desenvolvimento web depende de PHP";
if (strpos($frase, "PHP") !== false) {
    echo "A string contém 'PHP'.";
}
?>

Se a função retornar um valor diferente de false, significa que a string foi encontrada.

Verificando com expressões regulares usando preg_match()

Se precisar de uma verificação mais avançada, podemos usar preg_match():

<?php
$frase = "Curso de programação em PHP";
if (preg_match("/PHP/i", $frase)) {
    echo "A string contém 'PHP'.";
}
?>

Aqui, preg_match() verifica se "PHP" está presente, ignorando diferenças de maiúsculas e minúsculas.

A verificação da presença de substrings em PHP é útil para buscas em textos, validação de entrada e filtragem de dados. Com a introdução de str_contains() no PHP 8, ficou mais fácil e intuitivo realizar essa tarefa. No entanto, strpos() continua sendo uma alternativa confiável para versões anteriores. Para buscas mais avançadas, preg_match() permite o uso de padrões complexos.

Algumas aplicações:

  • Filtragem de palavras-chave em textos dinâmicos
  • Verificação de domínios ou palavras proibidas em formulários
  • Identificação de URLs ou códigos dentro de textos
  • Validação de entradas para evitar SQL Injection ou XSS

Dicas para quem está começando

  • Se estiver usando PHP 8+, prefira str_contains() pela simplicidade.
  • Para compatibilidade com versões mais antigas, strpos() é a melhor alternativa.
  • Se precisar de buscas complexas, preg_match() permite expressões regulares poderosas.
  • Lembre-se de verificar se strpos() retorna false, pois pode retornar 0 se a string for encontrada no início.
  • Evite buscas desnecessárias em grandes strings para otimizar o desempenho.

Contribuições de Rafael Nogueira

Compartilhe este tutorial: Como verificar se uma string contém outra no PHP?

Compartilhe este tutorial

Continue aprendendo:

Como substituir parte de uma string no PHP?

Veja como substituir parte de uma string no PHP utilizando diferentes funções nativas para manipulação de texto.

Tutorial anterior

Como remover espaços em branco de uma string no PHP?

Veja como remover espaços em branco no início, final ou dentro de uma string em PHP utilizando diferentes funções nativas.

Próximo tutorial