English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP основы教程

PHP продвинутый учебник

PHP & MySQL

PHP справочник

PHP preg_replace_callback_array() функция примеры и использование

PHP регулярные выражения (PCRE)

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

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

Синтаксис

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

Функция ähnlich preg_replace_callback(), но оно основано на замене вызовом функции для каждого шаблона.

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

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

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

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

  • $count: опционально, указывает количество замен.

Возвратное значение

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

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

Онлайн пример

<?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"

PHP регулярные выражения (PCRE)