PCRE
PHP Manual

preg_replace_callback_array

(PHP 7)

preg_replace_callback_arrayВыполняет поиск и замену по регулярному выражению с использованием функций обратного вызова

Описание

mixed preg_replace_callback_array ( array $patterns_and_callbacks , mixed $subject [, int $limit = -1 [, int &$count ]] )

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

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

patterns_and_callbacks

Ассоциативный массив, связывающий шаблоны регулярного выражения (ключи) и функции обратного вызова (значения).

subject

Строка, в которой будет производиться поиск и замена.

limit

Максимальное количество замен для каждого шаблона в строке subject. По умолчанию -1 (без ограничений).

count

Если задан, то в указанную переменную будет записано число произведенных замен.

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

preg_replace_callback_array() возвращает массив, если параметр subject является массивом и строку, если строкой. В случае ошибки возвращается NULL

Если совпадения найдены, будет возвращена новая строка, а если нет, то исходная subject.

Примеры

Пример #1 Пример использования preg_replace_callback_array()

<?php
$subject 
'Aaaaaa Bbb';

preg_replace_callback_array(
    [
        
'~[a]+~i' => function ($match) {
            echo 
strlen($match[0]), ' matches for "a" found'PHP_EOL;
        },
        
'~[b]+~i' => function ($match) {
            echo 
strlen($match[0]), ' matches for "b" found'PHP_EOL;
        }
    ],
    
$subject
);
?>

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

6 matches for "a" found
3 matches for "b" found

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


PCRE
PHP Manual