preg_replace_callback_array

(PHP 7)

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

Описание

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

Поведение этой функции похоже на 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]), ' совпадений "a"'PHP_EOL;
        },
        
'~[b]+~i' => function ($match) {
            echo 
'Найдено 'strlen($match[0]), ' совпадений "b"'PHP_EOL;
        }
    ],
    
$subject
);
?>

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

Найдено 6 совпадений "a"
Найдено 3 совпадений "b"

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