preg_filter

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

preg_filterПроизводит поиск и замену по регулярному выражению

Описание

preg_filter(
    string|array$pattern,
    string|array$replacement,
    string|array$subject,
    int$limit = -1,
    int&$count = null
): string|array|null

Функция preg_filter() идентична функции preg_replace() за исключением того, что возвращает только те значения (возможно, преобразованные), в которых найдено совпадение. Подробнее о работе функции читайте в документации к preg_replace().

Список параметров

Параметры описаны в документации для функции preg_replace().

Возвращаемые значения

Возвращает массив (array), если аргумент subject имеет тип array или строка (string) в противном случае.

Если совпадений не найдено или возникла ошибка, возвращается пустой массив (array), когда subject имеет тип array или null в противном случае.

Ошибки

Если передали шаблон регулярного выражения, который не компилируется в допустимое регулярное выражение, выдаётся ошибка уровня E_WARNING.

Примеры

Пример #1 Пример для сравнения функций preg_filter() и preg_replace()

<?php
$subject
= array('1', 'а', '2', 'б', '3', 'А', 'Б', '4');
$pattern = array('/\d/', '/[а-я]/', '/[1а]/');
$replace = array('А:$0', 'Б:$0', 'В:$0');

echo
"preg_filter возвращает\n";
print_r(preg_filter($pattern, $replace, $subject));

echo
"preg_replace возвращает\n";
print_r(preg_replace($pattern, $replace, $subject));
?>

Результат выполнения приведённого примера:

preg_filter возвращает Array ( [0] => А:В:1 [1] => Б:В:а [2] => А:2 [3] => Б:б [4] => А:3 [7] => А:4 ) preg_replace возвращает Array ( [0] => А:В:1 [1] => Б:В:а [2] => А:2 [3] => Б:б [4] => А:3 [5] => А [6] => Б [7] => А:4 )

Смотрите также

  • Шаблоны PCRE
  • preg_quote() - Экранирует символы в регулярных выражениях
  • preg_replace() - Выполняет поиск и замену по регулярному выражению
  • preg_replace_callback() - Выполняет поиск по регулярному выражению и замену с использованием callback-функции
  • preg_grep() - Возвращает массив вхождений, которые соответствуют шаблону
  • preg_last_error() - Возвращает код ошибки выполнения последнего регулярного выражения PCRE
To Top