PHP

Encontrar uma palavra específica em string no PHP

22 de julho de 2020

Encontrar uma palavra específica em string no PHP

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
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x