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