La fonction `preg_match()` en PHP est utilisée pour rechercher un modèle dans une chaîne et renvoie des informations sur la correspondance. La syntaxe de la fonction `preg_match()` est la suivante :
```php
int preg_match ( chaîne $motif, chaîne $sujet, tableau &$matches [, int $flags =0 [, int $offset =0 ]] )
```
Où,
- $modèle : Le modèle à rechercher. Cela peut être une simple chaîne ou une expression régulière.
- $sujet : La chaîne à rechercher.
- &$matchs : Un tableau qui sera rempli avec les résultats de la recherche.
- $drapeaux : Indicateurs facultatifs pouvant être utilisés pour modifier le comportement de la fonction.
- $décalage : Décalage facultatif auquel la recherche doit commencer.
Exemple 1 :recherche de chaîne simple
```php
$subject ="Le rapide renard brun saute par-dessus le chien paresseux.";
$motif ="/renard/";
preg_match($motif, $sujet, $matches);
print_r ($ correspond);
```
Sortir:
```
Tableau
(
[0] => renard
)
```
Dans cet exemple, le `$pattern` est une simple chaîne "fox". Le tableau `$matches` contiendra la première occurrence du modèle dans la chaîne `$subject`.
Exemple 2 : Recherche d'expressions régulières
```php
$subject ="Le rapide renard brun saute par-dessus le chien paresseux.";
$motif ="/^Le.*$/";
preg_match($motif, $sujet, $matches);
print_r ($ correspond);
```
Sortir:
```
Tableau
(
[0] => Le rapide renard brun saute par-dessus le chien paresseux.
)
```
Dans cet exemple, `$pattern` est une expression régulière qui correspond à toute chaîne commençant par "The" et se terminant par un point. Le tableau `$matches` contiendra toute la chaîne correspondante.
Exemple 3 : Drapeaux
L'argument `$flags` peut être utilisé pour modifier le comportement de la fonction `preg_match()`. Certains drapeaux courants sont :
- PREG_OFFSET_CAPTURE : Cet indicateur amène `preg_match()` à renvoyer le décalage de départ de chaque correspondance dans le tableau `$matches`.
- PREG_IGNORE_CASE : Cet indicateur fait que `preg_match()` ignore la casse lors de la correspondance avec le modèle.
- PREG_MULTILINE : Cet indicateur amène `preg_match()` à traiter la chaîne `$subject` comme plusieurs lignes.
Voici un exemple d'utilisation du flag `PREG_OFFSET_CAPTURE` :
```php
$subject ="Le rapide renard brun saute par-dessus le chien paresseux.";
$motif ="/renard/";
preg_match($motif, $sujet, $matches, PREG_OFFSET_CAPTURE);
print_r ($ correspond);
```
Sortir:
```
Tableau
(
[0] => Tableau
(
[0] => renard
[1] => 16
)
)
```
Dans cet exemple, le tableau `$matches` contient le décalage de départ de la correspondance dans la chaîne `$subject`.
Conclusion
La fonction `preg_match()` est un outil puissant pour rechercher des modèles dans les chaînes. En utilisant des expressions régulières, vous pouvez facilement rechercher et extraire des informations du texte.
|