Функција preg_grep

Функција preg_grep враћа низ елемената који одговарају задатом регуларном изразу. Први параметар функција прима стринг са регуларним изразом, а други - низ за претрагу. Трећи опциони параметар одређује да ли треба вратити елементе који не одговарају регуларном изразу.

Синтакса

phppreg_grep(pattern, array, [flags]);

Флагови

Флаг Опис
PREG_GREP_INVERT Инвертује резултат - враћа елементе који НЕ одговарају шаблону.
PREG_GREP_NO_ERROR Не генерише грешку при некоректном регуларном изразу (PHP 8.1+).

Пример

Нађимо све елементе низа који почињу са цифром:

php<?php
  $arr = ['a1', '2b', 'c3', '4d', 'e5'];
  $res = preg_grep('/^\d/', $arr);
  var_dump($res);
?>

Резултат извршавања кода:

php['2b', '4d']

Пример

Искористимо флаг PREG_GREP_INVERT за добијање елемената који НЕ одговарају регуларном изразу:

php<?php
  $arr = ['a1', '2b', 'c3', '4d', 'e5'];
  $res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
  var_dump($res);
?>

Резултат извршавања кода:

php['a1', 'c3', 'e5']

Пример

Нађимо све елементе низа који садрже само цифре:

php<?php
  $arr = ['123', 'abc', '45', 'de', '678'];
  $res = preg_grep('/^\d+$/', $arr);
  var_dump($res);
?>

Резултат извршавања кода:

php['123', '45', '678']

Погледајте такође

  • функцију preg_match,
    која обавља проверу слагања са регуларним изразом
  • функцију preg_replace,
    која обавља претрагу и замену помоћу регуларног израза