Neste artigo veremos como encontrar uma palavra específica em string – de uma forma fácil, utilizando um método nativo da linguagem
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
Já 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
Muito obrigado, me ajudou demais! Estava horas e dias tentando um problema, e graças a vocês eu consegui!
que bom que te ajudei João!
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?