Функција preg_match
Функцијата preg_match бара совпаѓања со регуларен израз во низа. Како прв параметар прифаќа шаблон на регуларен израз, како втор - низа за пребарување, како трет (незадолжителен) - низа за зачувување на пронајдените совпаѓања, како четврт (незадолжителен) - знамиња, како петти (незадолжителен) - поместување на почетокот на пребарувањето.
Синтакса
preg_match(pattern, subject, [matches], [flags], [offset]);
Знамиња
| Знаме | Константа | Опис |
|---|---|---|
PREG_PATTERN_ORDER |
1 | Резултатите се сортирани по шаблони (по стандард) |
PREG_SET_ORDER |
2 | Резултатите се сортирани по сетови на совпаѓања |
PREG_OFFSET_CAPTURE |
256 | Ја враќа позицијата на совпаѓањето во низата |
PREG_UNMATCHED_AS_NULL |
512 | Несовпаднатите подшаблони се враќаат како NULL |
Пример
Да провериме дали низата содржи цифри:
<?php
$res = preg_match('/\d+/', 'abc123');
echo $res;
?>
Резултат од извршување на кодот:
1
Пример
Да ги извлечеме сите цифри од низата во низа:
<?php
preg_match('/\d+/', 'abc123', $matches);
var_dump($matches);
?>
Резултат од извршување на кодот:
[0 => '123']
Пример
Користење на именувани групи во регуларниот израз:
<?php
preg_match('/(?P<name>\w+)\s+(?P<age>\d+)/', 'John 25', $matches);
var_dump($matches);
?>
Резултат од извршување на кодот:
[
0 => 'John 25',
'name' => 'John',
1 => 'John',
'age' => '25',
2 => '25'
]
Пример
Користење на знамето PREG_OFFSET_CAPTURE за добивање на позицијата на совпаѓањето:
<?php
preg_match('/\d+/', 'abc123', $matches, PREG_OFFSET_CAPTURE);
var_dump($matches);
?>
Резултат од извршување на кодот:
[
0 => [
0 => '123',
1 => 3
]
]
Пример
Пребарување со одредување на поместување (offset):
<?php
preg_match('/\d+/', '123abc456', $matches, 0, 3);
var_dump($matches);
?>
Резултат од извршување на кодот:
[0 => '456']
Пример
Проверка на валидност на email адреса:
<?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';
?>
Резултат од извршување на кодот:
'Valid'
Погледнете ги исто така
-
функцијата
preg_match_all,
која ги бара сите совпаѓања во низата -
функцијата
preg_replace,
која извршува замена со регуларен израз