Uso da função preg_match () em PHP

Use Preg_match Function 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 uma expressão regular padronizar. Também é chamado de regex ou RegExp. Diferentes tipos de símbolos são usados ​​para definir o padrão regex.

Muitas funções integradas existem no PHP para a expressão regular. A função preg_match () é uma delas. Esta função é usada para combinar um determinado padrão 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 oufalso preg_match (fragmento$ padrão,fragmento$ assunto [, variedade E$ fósforos = nulo [,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 de correspondência. O segundo argumento, $ assunto , é obrigatório e contém os dados da string aos quais o padrão será aplicado. O terceiro argumento, $ fósforos , é opcional e retorna uma matriz com base na correspondência. O quarto argumento, $ flags , é opcional, que contém diferentes tipos de valores de sinalizadores 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, '/Gostar/', é usado para combinar a string diferenciando maiúsculas de minúsculas. O segundo padrão, '/gostar/' , é 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 () 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 também gosto de JavaScript. ';

// Defina três tipos de padrão

$ pattern1 = '/Gostar/';

$ pattern2 = '/gostar/';

$ pattern3 = '/Como eu';

// Definir função para pesquisar o padrão no texto

funçãosearch_pattern($ padrão, $ string)

{

E se( preg_match ($ padrão, $ string))

jogou fora 'Resultado da pesquisa: Correspondência encontrada para o padrão -$ padrão
'
;

outro

jogou fora 'Resultado da pesquisa: Correspondência não encontrada para o padrão -$ padrão
'
;

}

// Imprime o texto original

jogou fora '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);

?>

Saída :

A seguinte saída aparecerá após a execução do script no 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 é usada 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

$ padrão ='@ ^ (?: https: //)? ([^ /] +) @i';

// Verifique se o URL é válido ou não

E se( preg_match ($ padrão, $ url, $ jogos1))

{

// Imprima a mensagem de sucesso

jogou fora 'O URL é válido.
'
;

// Imprime a matriz que contém os valores correspondentes

jogou fora 'Os valores da matriz são:';

print_r ($ jogos1);

// Recupere e imprima o valor do host

$ host = $ jogos1[1];

jogou fora '
O nome do host é:$ host'
;

// Pesquise o nome de domínio a partir do valor do host

preg_match ('/[^. relevant+.[^.íritu+$/', $ host, $ jogos2);

jogou fora '
O nome do domínio é:{$ jogos2 [0]}'
;

}

outro

{

// Imprime a mensagem de erro

jogou fora 'URL inválida.';

}

?>

Saída :

A seguinte saída aparecerá após a execução do script no servidor. O URL fornecido no script é válido. Portanto, a saída mostra os valores de $ Match, o nome do host da URL e o nome de domínio da 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 qualquer parte do padrão não corresponder, um valor NULL será armazenado na matriz. Os valores do $ fósforos 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 $ fósforos 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 = '/Alegre/';


// Usando sinalizador PREG_OFFSET_CAPTURE

preg_match ($ pattern1, $ text, $ fósforos,PREG_OFFSET_CAPTURE);

jogou fora '
';  

print_r ($matches);

echo '

'
;

// Usando sinalizador PREG_UNMATCHED_AS_NULL

preg_match ($ pattern2, $ text, $ fósforos,PREG_UNMATCHED_AS_NULL);

jogou fora '
';  

print_r ($matches);

echo '

'
;

// Usando o sinalizador PREG_OFFSET_CAPTURE e o valor de deslocamento

preg_match ($ pattern3, $ text, $ fósforos,PREG_OFFSET_CAPTURE, 3);

jogou fora '
';  

print_r ($matches);

echo '
'
;

?>

Saída :

A seguinte saída aparecerá após a execução do script no 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.