Функция preg_filter используется для поиска и замены регулярных выражений.
смешанный preg_filter (смешанный $pattern, смешанный $replacement, смешанный $subject [, int $limit = -1 [, int &$count]])
preg_filter() эквивалентен preg_replace(), но возвращает только те результаты, которые соответствуют цели.
Описание параметра:
$pattern: шаблон для поиска. Может быть строкой или массивом строк.
$replacement: строка или массив строк, используемых для замены.
$subject: строка или массив строк для поиска и замены.
$limit: Необязательно, максимальное количество замен на шаблон по каждому предмету. По умолчанию — -1 (неограниченно).
$count: Необязательно, количество выполненных замен.
Результат выполнения следующий:
Возвращаемое значение preg_filter: Array( [0] => A:C:1 [1] => B:C:a [2] => A:2 [3] => B:b [4] => A:3 [7] => A:4)preg_replace возвращаемое значение: Array( [0] => A:C:1 [1] => B:C:a [2] => A:2 [3] => B: б [4] => А:3 [5] => А [6] => Б [7] => А:4)
Видно, что preg_filter возвращает только совпадающие результаты, а несовпадающие напрямую игнорируются, в то время как preg_replace также возвращает несовпадающие элементы результатов «A» и «B» вместе.