Функсияи preg_match

Функсияи preg_match дар сатр бо ибораи оддӣ мувофиқатҳоро меҷӯяд. Параметри аввал шаблони ибораи оддиро қабул мекунад, дуюм - сатр барои ҷустуҷӯ, сеюм (ихтиёрӣ) - массив барои нигоҳ доштани мувофиқатҳои ёфташуда, чаҳорум (ихтиёрӣ) - парчамҳо, панҷум (ихтиёрӣ) - ҷойивазкунии оғози ҷустуҷӯ.

Синтаксис

phppreg_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<?php
  $res = preg_match('/\d+/', 'abc123');
  echo $res;
?>

Натиҷаи иҷрои код:

php1

Намуна

Ҳамаи рақамҳоро аз сатр ба массив мегирем:

php<?php
  preg_match('/\d+/', 'abc123', $matches);
  var_dump($matches);
?>

Натиҷаи иҷрои код:

php[0 => '123']

Намуна

Истифодаи гурӯҳҳои номгузоришуда дар ибораи оддӣ:

php<?php
  preg_match('/(?P<name>\w+)\s+(?P<age>\d+)/', 'John 25', $matches);
  var_dump($matches);
?>

Натиҷаи иҷрои код:

php[
  0 => 'John 25',
  'name' => 'John',
  1 => 'John',
  'age' => '25',
  2 => '25'
]

Намуна

Истифодаи парчами PREG_OFFSET_CAPTURE барои гирифтани ҷойгиршавии мувофиқат:

php<?php
  preg_match('/\d+/', 'abc123', $matches, PREG_OFFSET_CAPTURE);
  var_dump($matches);
?>

Натиҷаи иҷрои код:

php[
  0 => [
    0 => '123',
    1 => 3
  ]
]

Намуна

Ҷустуҷӯ бо мушаххас кардани ҷойивазкунӣ (offset):

php<?php
  preg_match('/\d+/', '123abc456', $matches, 0, 3);
  var_dump($matches);
?>

Натиҷаи иҷрои код:

php[0 => '456']

Намуна

Санҷиши эътибори суроғаи email:

php<?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';
?>

Натиҷаи иҷрои код:

php'Valid'

Инчунин бинед

  • функсияи preg_match_all,
    ки ҳамаи мувофиқатҳоро дар сатр меҷӯяд
  • функсияи preg_replace,
    ки ивазкуниро бо ибораи оддӣ иҷро мекунад