Uso da função preg_match em php

Uso da função preg_match em php

A expressão regular é um padrão específico que pode ser usado para corresponder, pesquisar e substituir qualquer string específica nos dados de texto. É uma característica poderosa de qualquer linguagem de programação. Ele é usado principalmente para executar diferentes tipos de validações de formulários, como validar email, verificar o formato do telefone, validar o nome de usuário e os campos de senha do formulário de login, etc. Qualquer conteúdo específico do texto pode ser pesquisado e substituído usando um padrão de expressão regular. Também é chamado de regex ou regexp. Diferentes tipos de símbolos são usados ​​para definir o padrão regex.

Muitas funções internas existem no PHP para a expressão regular. A função preg_match () é uma delas. Esta função é usada para combinar um padrão específico em dados de string. Como a função Preg_match () pode ser usada no PHP para executar várias tarefas é explicada neste tutorial.

Sintaxe:

Int ou false preg_match (string $ padrão, string $ sujeito [, array & $ matches = null [, int $ flags = 0 [, int $ offset = 0]])

Esta função pode levar cinco argumentos. O primeiro argumento, $ padrão, é obrigatório, que define o padrão para corresponder. O segundo argumento, $ sujeito, é obrigatório e contém os dados da string nos quais o padrão será aplicado. O terceiro argumento, $ corresponde, é opcional e retorna uma matriz com base na partida. O quarto argumento, $ sinalizadores, é opcional, que contém diferentes tipos de valores de sinalização com base na correspondência. O quinto argumento, $ deslocamento, é opcional e pode ser usado para definir a posição inicial da pesquisa.

Exemplo 1: Combine o padrão de maneira sensível ao caso e insensível ao caso

O exemplo a seguir mostra o uso da função preg_match () para combinar a string de maneira sensível ao caso e insensível ao caso. Crie um arquivo php com o seguinte script.

Aqui, três padrões são usados ​​para aplicar em três funções preg_match (). O primeiro padrão, '/Como/', é usado para combinar a string de maneira sensível ao caso. O segundo padrão, '/como/', é usado para combinar a string de maneira sensível ao caso. O terceiro padrão, 'Como eu', é usado para combinar a string de maneira insensível ao caso. Search_pattern () A função é definida no script para usar a função preg_match () para correspondência e imprime a mensagem com base no valor retornado desta função.

// Defina o texto
$ text = "eu gosto de php. Eu gosto de javascript também.";
// define três tipos de padrão
$ padrony1 = '/like/';
$ PATCHING2 = '/LIGO/';
$ padrony3 = '/like/i';
// Defina a função para pesquisar o padrão no texto
função search_pattern ($ padrão, $ string)

if (preg_match ($ padrão, $ string))
eco "Resultado da pesquisa: A partida é encontrada para o padrão - $ padrão
";
outro
eco "Resultado da pesquisa: A partida não é encontrada para o padrão - $ padrão
";

// Imprima o texto original
eco "O texto original é: $ texto
";
// Ligue para a função três vezes para três padrões
Search_pattern ($ Pattern1, $ text);
Search_pattern ($ Pattern2, $ text);
Search_pattern ($ Pattern3, $ text);
?>

Saída:

A saída a seguir aparecerá após a execução do script do servidor. A primeira linha mostra o texto em que os padrões foram pesquisados. A segunda linha mostra a saída do primeiro padrão. A terceira linha mostra a saída do segundo padrão. A quarta linha mostra a saída do terceiro padrão.

Exemplo 2: Validar o URL

O exemplo a seguir mostra a maneira de validar o endereço da URL usando a função preg_match (). Crie um arquivo php com o seguinte script.

Um valor de URL é atribuído na variável $ url para teste. '@^(?: https: //)?([^/]+)@i 'string é usado como um padrão na função preg_match () para verificar se o endereço da URL é válido ou não. Se for válido, o nome do host e o nome de domínio serão impressos; caso contrário, a mensagem de erro será impressa.

// Defina o URL
$ url = "https: // www.Linuxhint.com ";
// Defina o padrão para validar o URL
$ padrão = '@^(?: https: //)?([^/]+)@i ';
// Verifique se o URL é válido ou não
if (preg_match ($ padrão, $ url, $ matches1))

// Imprima a mensagem de sucesso
eco "o URL é válido.
";
// imprima a matriz que contém os valores de correspondência
eco "Os valores da matriz são:";
print_r ($ Matches1);
// Recuperar e imprimir o valor do host
$ host = $ Matches1 [1];
eco "
O nome do host é: $ host ";
// Pesquise o nome de domínio do valor do host
preg_match ('/[^.]+\.[^.]+$/', $ host, $ Matches2);
eco "
O nome do domínio é: $ Matches2 [0] ";

outro

// Imprima a mensagem de erro
eco "URL inválido.";

?>

Saída:

A saída a seguir aparecerá após a execução do script do servidor. O URL fornecido no script é válido. Portanto, a saída mostra os valores das correspondências $, o nome do host do URL e o nome de domínio do URL.

Exemplo 3: Padrão de pesquisa com valores de bandeira e deslocamento

O exemplo a seguir mostra os usos dos valores de bandeira e deslocamento na função preg_match (). Crie um arquivo php com o seguinte script.

Três padrões são usados ​​no script para três tipos de correspondência. Na primeira função preg_match (), '/(bangla) (DESH)/' é usada como padrão e o valor do sinalizador, preg_offset_capture é usado. Os valores do $ corresponde A variável imprimirá com base na saída da primeira função preg_match (). Na segunda função preg_match (), '/(bangla) (feliz)*(desh)/i', é usado como padrão e o valor da bandeira, preg_unmatched_as_null é usado. Se alguma parte do padrão não corresponder, um valor nulo será armazenado na matriz. Os valores do $ corresponde A variável imprimirá com base na saída da segunda função preg_match (). Na terceira função preg_match (), '/glad/' é usada como padrão, o valor do sinalizador, preg_offset_capture é usado e 3 é usado como valor de deslocamento. Os valores do $ corresponde A variável imprimirá com base na saída da terceira função preg_match ().

// Defina o valor do texto
$ text = "Bangladesh";
// define três tipos de padrões
$ padrony1 = '/(bangla) (DESH)/i';
$ padring2 = '/(bangla) (feliz)*(desh)/i';
$ padrão3 = '/glad/';
// usando preg_offset_capture sinalizador
preg_match ($ Pattern1, $ text, $ corresponde, preg_offset_capture);
eco "
";
print_r ($ correspondentes);
eco "

";
// usando preg_unmatched_as_null sinalizador
preg_match ($ Pattern2, $ text, $ corresponde, preg_unmatched_as_null);
eco "
";
print_r ($ correspondentes);
eco "

";
// usando preg_offset_capture sinalizador e valor de deslocamento
preg_match ($ Pattern3, $ text, $ corresponde, preg_offset_capture, 3);
eco "
";
print_r ($ correspondentes);
eco "
";
?>

Saída:

A saída a seguir aparecerá após a execução do script do servidor.

Conclusão

Os usos da função preg_match () foram explicados neste tutorial usando vários exemplos. Os usos de diferentes argumentos dessa função também foram mostrados aqui. Os leitores poderão usar esta função corretamente em seu script depois de ler este tutorial.