`preg_match()`-funksjonen i PHP brukes til å søke i en streng etter et mønster og returnerer informasjon om samsvaret. Syntaksen til 'preg_match()'-funksjonen er som følger:
``` php
int preg_match ( string $pattern, string $subject, array &$matches [, int $flags =0 [, int $offset =0 ]] )
```
Hvor,
- $pattern: Mønsteret å søke etter. Dette kan være en enkel streng eller et regulært uttrykk.
- $subject: Strengen for å søke.
- &$matches: En matrise som vil fylles med resultatene av søket.
- $flags: Valgfrie flagg som kan brukes til å endre funksjonen til funksjonen.
- $offset: Valgfri offset som søket skal starte ved.
Eksempel 1:Enkelt strengsøk
``` php
$subject ="Den raske brunreven hopper over den late hunden.";
$pattern ="/fox/";
preg_match($mønster, $emne, $treff);
print_r($matches);
```
Produksjon:
```
Array
(
[0] => rev
)
```
I dette eksemplet er `$pattern` en enkel streng "rev". `$matches`-matrisen vil inneholde den første forekomsten av mønsteret i `$subject`-strengen.
Eksempel 2:Regulære uttrykkssøk
``` php
$subject ="Den raske brunreven hopper over den late hunden.";
$pattern ="/^The.*$/";
preg_match($mønster, $emne, $treff);
print_r($matches);
```
Produksjon:
```
Array
(
[0] => Den raske brunreven hopper over den late hunden.
)
```
I dette eksemplet er `$pattern` et regulært uttrykk som samsvarer med en hvilken som helst streng som starter med "The" og slutter med et punktum. `$matches`-matrisen vil inneholde hele den samsvarende strengen.
Eksempel 3:Flagg
Argumentet `$flags` kan brukes til å endre oppførselen til funksjonen `preg_match()`. Noen vanlige flagg er:
- PREG_OFFSET_CAPTURE: Dette flagget får `preg_match()` til å returnere startforskyvningen for hver match i `$matches`-matrisen.
- PREG_IGNORE_CASE: Dette flagget får `preg_match()` til å ignorere store og små bokstaver når det samsvarer med mønsteret.
- PREG_MULTILINE: Dette flagget får `preg_match()` til å behandle `$subject`-strengen som flere linjer.
Her er et eksempel på bruk av «PREG_OFFSET_CAPTURE»-flagget:
``` php
$subject ="Den raske brunreven hopper over den late hunden.";
$pattern ="/fox/";
preg_match($mønster, $emne, $treff, PREG_OFFSET_CAPTURE);
print_r($matches);
```
Produksjon:
```
Array
(
[0] => Array
(
[0] => rev
[1] => 16
)
)
```
I dette eksemplet inneholder `$matches`-matrisen startforskyvningen til samsvaret i `$subject`-strengen.
Konklusjon
Funksjonen `preg_match()` er et kraftig verktøy for å søke i strenger etter mønstre. Ved å bruke regulære uttrykk kan du enkelt finne og trekke ut informasjon fra tekst.