Preg_match funksiýasy
preg_match funksiýasy setirde regulýar ifadä gabat gelmeleri gözleýär. Ilkinji parametr hökmünde regulýar ifadäniň şablonyny, ikinji parametr hökmünde gözlemek üçin setiri, üçünji (hökmany däl) parametr hökmünde tapylan gabat gelmeleri ýatlamak üçin sanawy, dördünji (hökmany däl) parametr hökmünde baýraklary, bäşinji (hökmany däl) parametr hökmünde gözlemiň başlanýan ýeriniň çuňlugyny kabul edýär.
Sintaksis
preg_match(pattern, subject, [matches], [flags], [offset]);
Baýraklar
| Baýrak | Konstanta | Düşündiriş |
|---|---|---|
PREG_PATTERN_ORDER |
1 | Netijeler şablonlar boýunça tertiplenýär (deslapky ýagdaýy) |
PREG_SET_ORDER |
2 | Netijeler gabat gelmeleriň ýygnamlary boýunça tertiplenýär |
PREG_OFFSET_CAPTURE |
256 | Gabat gelmegiň setirdeki ýerleşişini gaýtarýar |
PREG_UNMATCHED_AS_NULL |
512 | Gabat gelmedik şablonlar NULL hökmünde gaýtarylýar |
Mysal
Setirde san bar ýa-da ýokdugyny barlaýarys:
<?php
$res = preg_match('/\d+/', 'abc123');
echo $res;
?>
Kody ýerine ýetirmegiň netijesi:
1
Mysal
Setirden ähli sanlary sanawa aýlarys:
<?php
preg_match('/\d+/', 'abc123', $matches);
var_dump($matches);
?>
Kody ýerine ýetirmegiň netijesi:
[0 => '123']
Mysal
Regulýar ifadede atlandyrylan toparlary ulanmak:
<?php
preg_match('/(?P<name>\w+)\s+(?P<age>\d+)/', 'John 25', $matches);
var_dump($matches);
?>
Kody ýerine ýetirmegiň netijesi:
[
0 => 'John 25',
'name' => 'John',
1 => 'John',
'age' => '25',
2 => '25'
]
Mysal
Gabat gelmegiň ýerleşişini almak üçin PREG_OFFSET_CAPTURE baýragyny ulanmak:
<?php
preg_match('/\d+/', 'abc123', $matches, PREG_OFFSET_CAPTURE);
var_dump($matches);
?>
Kody ýerine ýetirmegiň netijesi:
[
0 => [
0 => '123',
1 => 3
]
]
Mysal
Çuňlugy (offset) görkezmek bilen gözlemek:
<?php
preg_match('/\d+/', '123abc456', $matches, 0, 3);
var_dump($matches);
?>
Kody ýerine ýetirmegiň netijesi:
[0 => '456']
Mysal
Email salgysynyň dogrulugyny barlamak:
<?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';
?>
Kody ýerine ýetirmegiň netijesi:
'Valid'
Şeýle-de garaň
-
preg_match_allfunksiýasyny,
ýagny setirde ähli gabat gelmeleri gözleýän funksiýa -
preg_replacefunksiýasyny,
ýagny regulýar ifadä boýunça çalşyrmany ýerine ýetirýän funksiýa