preg_replace_callback_array
(PHP 7)
preg_replace_callback_array — Выполняет поиск и замену по регулярному выражению с использованием функций обратного вызова
Описание
$pattern
, string|array $subject
, int $limit
= -1
, int &$count
= null
, int $flags
= 0
) : string|array|nullПоведение этой функции похоже на preg_replace_callback(), за исключением того, что для каждого шаблона используется своя функция обратного вызова.
Список параметров
-
pattern
-
Ассоциативный массив, связывающий шаблоны регулярного выражения (ключи) и callable (значения).
-
subject
-
Строка, в которой будет производиться поиск и замена.
-
limit
-
Максимальное количество замен для каждого шаблона в строке
subject
. По умолчанию-1
(без ограничений). -
count
-
Если задан, то в указанную переменную будет записано количество произведенных замен.
-
flags
-
flags
может быть комбинацией флаговPREG_OFFSET_CAPTURE
иPREG_UNMATCHED_AS_NULL
, которые влияют на формат массива совпадений. Смотрите описание в preg_match() для более подробной информации.
Возвращаемые значения
preg_replace_callback_array() возвращает массив, если
параметр subject
является массивом и строку, если строкой.
В случае ошибки возвращается null
Если совпадения найдены, будет возвращена новая строка, а если нет, то исходная
subject
.
Список изменений
Версия | Описание |
---|---|
7.4.0 |
Добавлен параметр flags .
|
Примеры
Пример #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"
Смотрите также
- Шаблоны PCRE
- preg_replace_callback() - Выполняет поиск по регулярному выражению и замену с использованием callback-функции
- preg_quote() - Экранирует символы в регулярных выражениях
- preg_replace() - Выполняет поиск и замену по регулярному выражению
- preg_last_error() - Возвращает код ошибки выполнения последнего регулярного выражения PCRE
- Анонимные функции