php

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 em dados de texto. É um recurso poderoso de qualquer linguagem de programação. É usado principalmente para realizar diferentes tipos de validações de formulário, como validar e-mail, verificar o formato do telefone, validar os campos de nome de usuário e 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.

Existem muitas funções integradas no PHP para a expressão regular. função preg_match () é uma delas. Esta função é usada para combinar um padrão particular em dados de string. Como a função preg_match () pode ser usada no PHP para realizar várias tarefas é explicado neste tutorial.

Sintaxe:

Int ou falso preg_match (string $ pattern, string $ subject [, array & $ Matches = null [, int $ flags = 0 [, int $ offset = 0]]])

Esta função pode receber cinco argumentos. O primeiro argumento, $ padrão, é obrigatório, o que define o padrão para correspondência. O segundo argumento, $ assunto, é obrigatório e contém os dados da string em que o padrão será aplicado. O terceiro argumento, $ partidas, é opcional e retorna uma matriz com base na correspondência. O quarto argumento, $ flags, é opcional, que contém diferentes tipos de valores de sinalização com base na correspondência. O quinto argumento, $ offset, é opcional e pode ser usado para definir a posição inicial da pesquisa.

Exemplo 1: corresponder ao padrão de uma maneira que diferencia maiúsculas de minúsculas e não diferencia maiúsculas de minúsculas

O exemplo a seguir mostra o uso da função preg_match () para combinar a string de uma maneira que diferencia maiúsculas de minúsculas e não diferencia maiúsculas de minúsculas. 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 diferenciando maiúsculas de minúsculas. O segundo padrão, '/Como/', é usado para combinar a string diferenciando maiúsculas de minúsculas. O terceiro padrão, 'Como eu', é usado para combinar a string sem fazer distinção entre maiúsculas e minúsculas. search_pattern () 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 também gosto de JavaScript.";
// Defina três tipos de padrão
$ pattern1 = '/ Like /';
$ pattern2 = '/ like /';
$ pattern3 = '/ Like / i';
// Definir função para pesquisar o padrão no texto
função search_pattern ($ padrão, $ string)

if (preg_match ($ pattern, $ string))
echo "Resultado da pesquisa: A correspondência foi encontrada para o padrão - $ padrão
";
senão
echo "Resultado da pesquisa: Correspondência não encontrada para o padrão - $ padrão
";

// Imprime o texto original
echo "O texto original é: $ text
";
// Chame a função três vezes para três padrões
search_pattern ($ pattern1, $ text);
search_pattern ($ pattern2, $ text);
search_pattern ($ pattern3, $ text);
?>

Resultado:

A seguinte saída aparecerá após a execução do script do servidor. A primeira linha mostra o texto onde 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 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 URL é válido ou não. Se for válido, o nome do host e o nome do 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
$ pattern = '@ ^ (?: https: //)?([^ /] +) @ i ';
// Verifique se o URL é válido ou não
if (preg_match ($ pattern, $ url, $ matches1))

// Imprima a mensagem de sucesso
echo "O URL é válido.
";
// Imprime a matriz que contém os valores correspondentes
echo "Os valores da matriz são:";
print_r ($ partidas1);
// Recupere e imprima o valor do host
$ host = $ partidas1 [1];
echo "
O nome do host é: $ host ";
// Pesquise o nome de domínio a partir do valor do host
preg_match ('/ [^.] + \.[^.] + $ / ', $ host, $ jogos2);
echo "
O nome do domínio é: $ Match2 [0] ";

senão

// Imprime a mensagem de erro
echo "URL inválido.";

?>

Resultado:

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

Exemplo 3: padrão de pesquisa com valores de sinalização e deslocamento

O exemplo a seguir mostra os usos dos valores de sinalização 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) /' é usado como o padrão e o valor do sinalizador, PREG_OFFSET_CAPTURE é usado. Os valores do $ fósforos variável será impressa com base na saída da primeira função preg_match (). Na segunda função preg_match (), '/ (bangla) (feliz) * (desh) / i', é usado como o padrão e o valor do sinalizador, PREG_UNMATCHED_AS_NULL é usado. Se alguma parte do padrão não corresponder, um valor NULL será armazenado na matriz. Os valores do $ partidas variável será impressa com base na saída da segunda função preg_match (). Na terceira função preg_match (), '/ glad /' é usado como o padrão, o valor do sinalizador, PREG_OFFSET_CAPTURE é usado e 3 é usado como o valor de deslocamento. Os valores do $ partidas variável será impressa com base na saída da terceira função preg_match ().

// Defina o valor do texto
$ text = "Bangladesh";
// Defina três tipos de padrões
$ pattern1 = '/ (bangla) (desh) / i';
$ pattern2 = '/ (bangla) (feliz) * (desh) / i';
$ pattern3 = '/ happy /';
// Usando sinalizador PREG_OFFSET_CAPTURE
preg_match ($ pattern1, $ text, $ Matches, PREG_OFFSET_CAPTURE);
echo "
";
print_r ($ jogos);
echo "

";
// Usando sinalizador PREG_UNMATCHED_AS_NULL
preg_match ($ pattern2, $ text, $ Matches, PREG_UNMATCHED_AS_NULL);
echo "
";
print_r ($ jogos);
echo "

";
// Usando o sinalizador PREG_OFFSET_CAPTURE e o valor de deslocamento
preg_match ($ pattern3, $ text, $ Matches, PREG_OFFSET_CAPTURE, 3);
echo "
";
print_r ($ jogos);
echo "
";
?>

Resultado:

A seguinte saída 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 desta função também foram mostrados aqui. Os leitores serão capazes de usar esta função corretamente em seu script após ler este tutorial.

O cursor pula ou se move aleatoriamente enquanto digita no Windows 10
Se você descobrir que o cursor do mouse pula ou se move por conta própria, de forma automática e aleatória ao digitar em um laptop ou computador com W...
Como reverter a direção de rolagem do Mouse e Touchpads no Windows 10
Mouse e Touchpads não apenas torna a computação mais fácil, mas mais eficiente e menos demorada. Não podemos imaginar uma vida sem esses dispositivos,...
Como alterar o ponteiro do mouse e tamanho do cursor, cor e esquema no Windows 10
O ponteiro do mouse e o cursor no Windows 10 são aspectos muito importantes do sistema operacional. Isso também pode ser dito para outros sistemas ope...