A função `preg_match()` em PHP é usada para pesquisar um padrão em uma string e retornar informações sobre a correspondência. A sintaxe da função `preg_match()` é a seguinte:
```php
int preg_match (string $padrão, string $assunto, array &$matches [, int $flags =0 [, int $offset =0 ]] )
```
Onde,
-
$padrão: O padrão a ser pesquisado. Pode ser uma string simples ou uma expressão regular.
-
$assunto: A string a ser pesquisada.
-
&$correspondências: Uma matriz que será preenchida com os resultados da pesquisa.
-
$flags: Sinalizadores opcionais que podem ser usados para modificar o comportamento da função.
-
$deslocamento: Deslocamento opcional no qual a pesquisa deve começar.
Exemplo 1:pesquisa simples de string ```php
$subject ="A rápida raposa marrom salta sobre o cachorro preguiçoso.";
$padrão ="/fox/";
preg_match($padrão, $assunto, $correspondências);
print_r($correspondências);
```
Saída:
```
Variedade
(
[0] => raposa
)
```
Neste exemplo, o `$pattern` é uma string simples "fox". O array `$matches` conterá a primeira ocorrência do padrão na string `$subject`.
Exemplo 2:pesquisa de expressão regular ```php
$subject ="A rápida raposa marrom salta sobre o cachorro preguiçoso.";
$padrão ="/^The.*$/";
preg_match($padrão, $assunto, $correspondências);
print_r($correspondências);
```
Saída:
```
Variedade
(
[0] => A rápida raposa marrom salta sobre o cachorro preguiçoso.
)
```
Neste exemplo, `$pattern` é uma expressão regular que corresponde a qualquer string que comece com "The" e termine com um ponto final. O array `$matches` conterá toda a string correspondente.
Exemplo 3:Sinalizadores O argumento `$flags` pode ser usado para modificar o comportamento da função `preg_match()`. Alguns sinalizadores comuns são:
-
PREG_OFFSET_CAPTURE: Este sinalizador faz com que `preg_match()` retorne o deslocamento inicial de cada correspondência no array `$matches`.
-
PREG_IGNORE_CASE: Este sinalizador faz com que `preg_match()` ignore maiúsculas e minúsculas ao combinar o padrão.
-
PREG_MULTILINE: Este sinalizador faz com que `preg_match()` trate a string `$subject` como múltiplas linhas.
Aqui está um exemplo de uso do sinalizador `PREG_OFFSET_CAPTURE`:
```php
$subject ="A rápida raposa marrom salta sobre o cachorro preguiçoso.";
$padrão ="/fox/";
preg_match($padrão, $assunto, $correspondências, PREG_OFFSET_CAPTURE);
print_r($correspondências);
```
Saída:
```
Variedade
(
[0] => Matriz
(
[0] => raposa
[1] => 16
)
)
```
Neste exemplo, o array `$matches` contém o deslocamento inicial da correspondência na string `$subject`.
Conclusão
A função `preg_match()` é uma ferramenta poderosa para pesquisar padrões em strings. Usando expressões regulares, você pode encontrar e extrair facilmente informações do texto.