Boa noite,
Depois de aprendi como utilizar uma Expressão Regular para fazer o serviço de busca de um determinado texto dentro de uma String, as linhas de código fonte reduziram considerávelmente.
Sem precisar utilizar de funções nativas de uma linguagem ou de desenvolver um algoritmo para fazer a comparação do termo da busca em algum texto, apenas utilizo uma expressão regular para fazer isso.
Para consultar uma determinada frase dentro de um texto pode ser utilizada a seguinte Expressão Regular:
$chave = "bom dia";
$texto = "Sempre é um bom dia para se aprender coisas novas.";
$pattern_buscar = "/$chave/i";
if(preg_match($pattern_buscar, $texto))
{
echo "<br/>Encontrou '$chave' no texto $texto.";
}
else
{
echo "<br/>Não encontrou '$chave' no texto $texto.";
}
Explicando, a Expressão Regular está delemitada por duas barras '/', sempre no início e no fim da sua ER, no final da ER tem uma letra 'i', isto faz com que a busca não diferencie letras maísculas de minúsculas.
O termo informado para a busca sempre ficará entre as barras e para o nosso exemplo, a palavra 'bom dia' só irá casar com a String de destino caso tenha a mesma sequência, no caso 'bom dia'. Portanto não irá combinar com 'bom, dia' ou 'bom em dia', etc.
Espero que tenha sido útil este tutorial, embora um tanto quando amador os meus conhecimentos com Expressões Regulares, espero que seja de grande ajuda para quem estiver estudando ou pesquisando.
Abraços e até a próxima.




