`preg_match()`-funktionen i PHP bruges til at søge i en streng efter et mønster og returnerer information om matchet. Syntaksen for 'preg_match()'-funktionen er som følger:
``` php
int preg_match (streng $pattern, string $subject, array &$matches [, int $flags =0 [, int $offset =0 ]])
```
Hvor,
- $pattern: Mønsteret at søge efter. Dette kan være en simpel streng eller et regulært udtryk.
- $subject: Strengen til at søge.
- &$matches: Et array, der vil blive fyldt med resultaterne af søgningen.
- $flags: Valgfri flag, der kan bruges til at ændre funktionsmåden.
- $offset: Valgfri offset, hvor søgningen skal starte.
Eksempel 1:Simpel strengsøgning
``` php
$subject ="Den hurtige brune ræv hopper over den dovne hund.";
$pattern ="/fox/";
preg_match($mønster, $emne, $matches);
print_r($matches);
```
Produktion:
```
Array
(
[0] => ræv
)
```
I dette eksempel er `$mønsteret` en simpel streng "ræv". `$matches`-arrayet vil indeholde den første forekomst af mønsteret i `$subject`-strengen.
Eksempel 2:Regulære udtrykssøgning
``` php
$subject ="Den hurtige brune ræv hopper over den dovne hund.";
$pattern ="/^The.*$/";
preg_match($mønster, $emne, $matches);
print_r($matches);
```
Produktion:
```
Array
(
[0] => Den hurtige brune ræv hopper over den dovne hund.
)
```
I dette eksempel er `$pattern` et regulært udtryk, der matcher enhver streng, der starter med "The" og slutter med et punktum. '$matches'-arrayet vil indeholde hele den matchende streng.
Eksempel 3:Flag
Argumentet `$flags` kan bruges til at ændre adfærden for funktionen `preg_match()`. Nogle almindelige flag er:
- PREG_OFFSET_CAPTURE: Dette flag får `preg_match()` til at returnere startforskydningen for hver match i `$matches`-arrayet.
- PREG_IGNORE_CASE: Dette flag får `preg_match()` til at ignorere store og små bogstaver, når mønsteret matches.
- PREG_MULTILINE: Dette flag får `preg_match()` til at behandle `$subject`-strengen som flere linjer.
Her er et eksempel på brug af "PREG_OFFSET_CAPTURE"-flaget:
``` php
$subject ="Den hurtige brune ræv hopper over den dovne hund.";
$pattern ="/fox/";
preg_match($mønster, $emne, $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
```
Produktion:
```
Array
(
[0] => Array
(
[0] => ræv
[1] => 16
)
)
```
I dette eksempel indeholder `$matches`-arrayet startforskydningen af matchet i `$subject`-strengen.
Konklusion
'preg_match()'-funktionen er et kraftfuldt værktøj til at søge i strenge efter mønstre. Ved at bruge regulære udtryk kan du nemt finde og udtrække information fra tekst.