Preg_match funksiyası
preg_match funksiyası sətirdə regular ifadə ilə uyğunluq axtarır. Birinci parametr kimi regular ifadə şablonu, ikinci parametr kimi axtarış üçün sətir, üçüncü parametr kimi (isteğe bağlı) tapılan uyğunluqları saxlamaq üçün massiv, dördüncü parametr kimi (isteğe bağlı) flaglar, beşinci parametr kimi (isteğe bağlı) axtarışın başlama ofseti qəbul edir.
Sintaksis
preg_match(pattern, subject, [matches], [flags], [offset]);
Flaglar
| Flag | Konstant | Təsvir |
|---|---|---|
PREG_PATTERN_ORDER |
1 | Nəticələr şablonlara görə çeşidlenir (defolt) |
PREG_SET_ORDER |
2 | Nəticələr uyğunluq dəstlərinə görə çeşidlenir |
PREG_OFFSET_CAPTURE |
256 | Uyğunluğun sətirdəki mövqeyini qaytarır |
PREG_UNMATCHED_AS_NULL |
512 | Uyğun gəlməyən altşablonlar NULL kimi qaytarılır |
Nümunə
Sətirin rəqəm ehtiva edib-etmədiyini yoxlayaq:
<?php
$res = preg_match('/\d+/', 'abc123');
echo $res;
?>
Kodun icrasının nəticəsi:
1
Nümunə
Sətirdən bütün rəqəmləri massivə çıxaraq:
<?php
preg_match('/\d+/', 'abc123', $matches);
var_dump($matches);
?>
Kodun icrasının nəticəsi:
[0 => '123']
Nümunə
Regular ifadədə adlandırılmış qrupların istifadəsi:
<?php
preg_match('/(?P<name>\w+)\s+(?P<age>\d+)/', 'John 25', $matches);
var_dump($matches);
?>
Kodun icrasının nəticəsi:
[
0 => 'John 25',
'name' => 'John',
1 => 'John',
'age' => '25',
2 => '25'
]
Nümunə
Uyğunluğun mövqeyini almaq üçün PREG_OFFSET_CAPTURE flagının istifadəsi:
<?php
preg_match('/\d+/', 'abc123', $matches, PREG_OFFSET_CAPTURE);
var_dump($matches);
?>
Kodun icrasının nəticəsi:
[
0 => [
0 => '123',
1 => 3
]
]
Nümunə
Ofset göstərilməklə axtarış (offset):
<?php
preg_match('/\d+/', '123abc456', $matches, 0, 3);
var_dump($matches);
?>
Kodun icrasının nəticəsi:
[0 => '456']
Nümunə
Email ünvanının etibarlılığının yoxlanılması:
<?php
$email = 'test@example.com';
$res = preg_match('/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/', $email);
echo $res ? 'Valid' : 'Invalid';
?>
Kodun icrasının nəticəsi:
'Valid'
Həmçinin bax
-
preg_match_allfunksiyasına,
sətirdə bütün uyğunluqları axtaran -
preg_replacefunksiyasına,
regular ifadə ilə əvəzetmə edən