preg_match_all() é uma função interna do PHP usada para corresponder ao padrão específico em uma string. Você pode usar esta função para realizar correspondências de expressões regulares e extrair dados de strings. Ele pode economizar tempo e esforço nos casos em que você precisa pesquisar várias ocorrências de um padrão e é amplamente utilizado em aplicações de análise de texto e extração de dados do PHP.
Sintaxe
A seguir está a sintaxe para usar o preg_match_all em PHP:
preg_match_all ( padrão , entrada , partidas , bandeiras , desvio )
O preg_match_all aceita os seguintes parâmetros, três são parâmetros obrigatórios e dois são opcionais:
- padrão : É o parâmetro obrigatório; ele contém a expressão regular que precisa ser pesquisada.
- entrada : O segundo também é um parâmetro obrigatório, pois é a string na qual a pesquisa é realizada.
- partidas : Armazena a saída na matriz contendo todas as correspondências.
- bandeiras : descreve como a matriz de pesquisa ou correspondências é estruturada. Modifica o comportamento da busca de função. Os seguintes sinalizadores podem ser usados:
- desvio : É o parâmetro opcional que especifica a posição inicial da busca.
Bandeira | Descrição |
---|---|
PREG_PATTERN_ORDER | A matriz resultante tem todas as correspondências de uma matriz para cada elemento da expressão regular. |
PREG_SET_ORDER | Cada elemento da matriz de correspondências contém correspondências de todos os agrupamentos para uma das correspondências encontradas na string. |
PREG_OFFSET_CAPTURE | Ele retorna as correspondências com suas posições de deslocamento de byte correspondentes na string de assunto. |
PREG_UNMATCHED_AS_NULL | Os padrões não correspondentes serão relatados como NULL. |
Exemplo 1
Considere o seguinte exemplo de uso do preg_match_all() função em PHP. Neste código, estamos procurando a palavra Linux na corda. Esta função gera o número de correspondências encontradas na palavra Linux :
$ string = 'Olá entusiastas do Linux, Bem-vindo ao LinuxHint!' ;
$padrão = '/Linux/' ;
$correspondências = variedade ( ) ;
preg_match_all ( $padrão , $ string , $correspondências ) ;
print_r ( $correspondências [ 0 ] ) ;
?>
Exemplo 2
Neste código de exemplo, estamos procurando a palavra E na string. O i minúsculo é usado para tornar a pesquisa sem distinção entre maiúsculas e minúsculas. Ele retornará todas as ocorrências de string da palavra E ou e:
$ string = 'BEM-VINDO AOS EUA.' ;
$padrãoRex = '/E/i' ;
$matchFound = preg_match_all ( $padrãoRex , $ string , $correspondências ) ;
se ( $matchFound ) {
eco '
';
print_r ( $correspondências ) ;
}
?>
Exemplo 3
Se o padrão que você está procurando não estiver presente na string, a função retornará false, indicando um erro. Para lidar com isso, você pode usar instruções if-else. Se o padrão não for encontrado, você pode imprimir uma mensagem usando a instrução else para informar ao usuário que o padrão não foi encontrado.
$ string = 'PHP é uma linguagem de script popular' ;
$padrãoRex = '/urina/' ;
$matchFound = preg_match_all ( $padrãoRex , $ string , $correspondências ) ;
se ( $matchFound ) {
eco '
';
eco 'Combinação encontrada.' ;
print_r ( $correspondências ) ;
} outro {
eco 'Nenhuma combinação encontrada.' ;
}
?>
Observação : O
Conclusão
As expressões regulares são uma ferramenta poderosa para pesquisar e manipular texto em PHP. O preg_match_all() function é uma função PHP integrada que é usada para executar uma correspondência de expressão regular em uma string e recuperar todas as ocorrências do padrão e, se o padrão não existir, retornará false. Entendendo o preg_match_all() A função ajudará os usuários a lidar e processar melhor os dados de texto em PHP.