O que é PHP?
O pré-processador de hipertexto é uma ferramenta poderosa para criar páginas da web interativas e dinâmicas. É gratuito, eficiente e amplamente utilizado. No domínio do desenvolvimento web, tornou-se uma obrigação para os profissionais. Por ser uma linguagem de script do lado do servidor, ele pode gerenciar conteúdo dinâmico, rastreamento de sessão, bancos de dados e até sites de comércio eletrônico. Ele tem uma sintaxe semelhante à linguagem C e oferece suporte a um grande número dos principais protocolos.
PHP oferece várias funções, o que facilita o trabalho com vários tipos de dados e expressões. Neste artigo, veremos como o PHP lida com padrões Regex usando preg_match.
O que é preg_match em PHP?
preg_match na função PHP é usado para pesquisar a string por um padrão e retornar um valor booleano. A pesquisa geralmente começa a partir do caractere inicial da string. Um parâmetro opcional’deslocamento’é usado para especificar a posição de onde a pesquisa começa, ou seja, uma posição alternativa a partir da qual a pesquisa pode começar. Portanto, preg_match na função PHP procura por uma correspondência na string.
Um parâmetro de entrada opcional,’pattern_array,’se fornecido, contém várias seções de subpadrões que precisam estar contidos no padrão de pesquisa. Além disso, se o sinalizador for passado como’PREG_OFFSET_CAPTURE’, o deslocamento da string anexada também será retornado sempre que ocorrer uma correspondência. Veremos isso nos exemplos abaixo, mas primeiro, vamos dar uma olhada na sintaxe.
Sintaxe de preg_match em PHP
A sintaxe da função é:
preg_match (padrão, entrada, correspondências, sinalizadores, deslocamento)
A pesquisa começará a partir do parâmetro da string de entrada, a menos que seja especificado o parâmetro opcional de deslocamento.
Valor de retorno: a função retorna verdadeiro se o padrão corresponder. Caso contrário, a função pode retornar falso. preg_match no PHP também pode retornar um valor não booleano, se for avaliado como falso.
Valores de parâmetro e caso de uso
preg_match em PHP tem cinco parâmetros. Todos eles são definidos abaixo:
- pattern-Este parâmetro tem o padrão que precisa ser pesquisado na string.
- input-Este parâmetro contém a string que precisa ser pesquisada.
- coincide-Se houver uma correspondência, este parâmetro contém o resultado da pesquisa.
- $ corresponde a [0] contém o texto que corresponde ao padrão completo;
- $ Matches [1] contém texto que combina com o primeiro subpadrão reconhecido entre parênteses que continua.
- flag-O parâmetro flag pode conter qualquer um dos flag:
- PREG_UNMATCHED_AS_NULL: quando este sinalizador é passado, os subpadrões que não são correspondidos são relatados como NULL, enquanto outros são relatados como vazios.
- PREG_OFFSET_CAPTURE: Quando este sinalizador é passado, o deslocamento da string anexada será retornado para cada correspondência.
- offset-Como mencionado anteriormente, este parâmetro especifica a posição (em bytes) de onde a pesquisa deve começar. Se não for especificado, a pesquisa por padrão começa do início.
Casos de uso de parâmetros
Vejamos alguns exemplos para entender o uso de cada parâmetro:
1. Usando uma expressão regular para fazer uma pesquisa que não diferencia maiúsculas de minúsculas na string fornecida
$ string=”preg_match em PHP”;
$ pattern=”/php/i”;
if (preg_match ($ pattern, $ string)) {
echo”Corresponde”;
}
else {
“Não corresponde”;
}
?>
Resultado:
2. Usando PREG_OFFSET_CAPTURE para encontrar a posição da string onde a correspondência foi encontrada
$ string=”preg_match em PHP”;
$ pattern=”/php/i”;
preg_match ($ pattern, $ string, $ Matches, PREG_OFFSET_CAPTURE);
print_r ($ corresponde);
?>
Resultado:
Aqui, 14 é a posição em que o padrão é encontrado na string principal.
3. Veremos como podemos usar a palavra limite (\ b) no padrão. Esta expressão retornaria verdadeira para palavras específicas como’web’, mas falsa para’webinar’e’web principal’, pois não correspondem parcialmente.
if (preg_match (“/\ match \ b/i”,”preg_match em PHP”)) {
echo”Foi encontrada uma correspondência. “;
} outro {
echo”Não foi encontrada correspondência. “;
}
if (preg_match (“/\ bweb \ b/i”,”preg_match () em PHP”)) {
echo”Foi encontrada uma correspondência.”;
} outro {
echo”Não foi encontrada uma correspondência.”;
}
?>
Resultado:
4. Vamos ver como podemos retirar um nome de domínio do URL
//Especifique o URL como entrada e o padrão fornecido para identificar
preg_match (‘@ ^ (?: https://)? ([^/] +) @i’,
“https://www.php.net/”, $ corresponde);
$ host=$ corresponde a [1];
//Isso retorna os dois últimos segmentos do nome do domínio
preg_match (‘/[^.]+\.[^.]+$/’, $ host, $ partidas);
echo”O nome do domínio é: {$ corresponde [0]} \ n”;
?>
Resultado:
Este exemplo particular mostra o uso do parâmetro’corresponde’.
Nota: Você não deve usar preg_match no PHP para verificar apenas por uma substring. Use strpos em PHP para isso.
Avance sua carreira como desenvolvedor MEAN stack com o Desenvolvedor Web Full Stack-Programa MEAN Stack Master . Inscreva-se agora!
Domine o PHP hoje!
Neste tutorial preg_match em PHP, aprendemos tudo sobre a função preg_match, seu uso e sintaxe. Esta função pode ser usada para combinar diferentes padrões Regex a uma string.
Bem, isso é sobre preg_match em PHP. No entanto, se você deseja dar o próximo passo e se tornar um pau para toda obra, seu objetivo deve ser dominar o desenvolvimento de pilha completa. E se você estiver interessado em aprender mais sobre desenvolvimento web e PHP, não se esqueça de verificar o certificação de desenvolvimento web full-stack .
Não se esqueça de explorar o SkillUp-uma plataforma de aprendizagem gratuita da Simplilearn. Esta plataforma oferece mais de 1000 horas de aprendizado individualizado em mais de 30 habilidades essenciais para o crescimento da carreira. Os melhores do setor criaram o conteúdo do curso e podem ajudá-lo a alcançar novos patamares em seu trabalho.