Функция PHP preg_replace_callback_array()

PHP 正则表达式(PCRE)Регулярные выражения PHP (PCRE)

Функция preg_replace_callback_array() выполняет поиск по регулярному выражению и замену с помощью функции обратного вызова.

Эта функция поддерживается в PHP 7+.

Синтаксис

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

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

Описание параметров:

  • $patterns_and_callbacks: ассоциативный массив, ключ (шаблон) => значение (функция обратного вызова)

  • $subject: строка или массив для поиска и замены.

  • $limit: Необязательный, максимальное количество замен для каждого шаблона, по умолчанию -1 (без ограничения, заменять все совпадения).

  • $count: Необязательный, указывает количество замен。

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

Если subject является массивом, возвращает массив; в противном случае возвращает строку. Возвращает NULL при ошибке。

Если совпадение найдено, возвращает заменённую целевую строку (или массив строк); в противном случае subject возвращается без изменений.

Примеры

Пример 1

<?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 matches for "a" found
3 matches for "b" found

PHP 正则表达式(PCRE)Регулярные выражения PHP (PCRE)

Другие расширения