Neste artigo veremos como encontrar uma palavra específica em string – de uma forma fácil, utilizando um método nativo da linguagem

como encontrar palavra em string php capa

Fala programador(a), tudo bem? Bora aprender mais sobre PHP e métodos de string!

Temos algums maneiras de verificar se uma string contém uma palavra em específico, e não só uma palavra, porém qualquer porção de texto

A primeira opção que vamos utilizar é o método strpos, que verifica a posição de uma string específica em uma outra string

Caso seja encontrada nos é retornoado algum valor, que é a posição inicial da string na string maior

E se não for é retornado um false, veja na prática:

<?php

$str = 'Vamos testar o strpos';

if (strpos($str, 'testar') !== false) {
    echo 'Existe testar na string';
}

Neste exemplo a palavra testar existe na string, fazendo com que o bloco do if seja executado

Esta é a maneira de verificar strings com strpos

Uma outra variação é com preg_match, neste método conseguimos inserir uma expressão regular

Veja um exemplo:

<?php

$str = 'PHP é muito legal';

$search = 'muito';

if(preg_match("/{$search}/i", $str)) {
    echo 'A palavra muito existe na string!';
}

Qual é então a diferença dos dois?

Ambas as alternativas atendem nosso problema perfeitamente

Porém a strpos encontra qualquer parte da string em uma string maior, ou seja, não é a palavra em específico

Se você buscar por teste, e a string for iiiiitesteiiii, ela vai encontrar um resultado, pois a palavra teste está na string, e isso pode ser um problema

preg_match respeitará sua regex, ou seja, você pode ter resultados mais precisos

Sobre perfromance: o método strpos se sai melhor que preg_match, o mesmo é executado 3 vezes mais rapidamente

Conclusão

Neste artigo vimos como encontrar uma palavra específica em string

Utilizamos duas abordagens: strpos e preg_match

A primeira funciona de uma forma mais ampla, podendo encontrar strings até dentro de palavras

Já o preg_match respeita a regex que foi inserida como parâmetro na busca em meio a uma string

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Subscribe
Notify of
guest

3 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
João

Muito obrigado, me ajudou demais! Estava horas e dias tentando um problema, e graças a vocês eu consegui!

Battisti

que bom que te ajudei João!

Rogério

Tenho um numero 01-001+BR
queria fazer um código onde ele verificasse se tem esse “+BR”
se existir ele pula, se não existir ele lê ou continua
como eu faço isso?