(PHP 7, PHP 8)
preg_replace_callback_array — Realiza pesquisa e substituição em expressão regular usando chamadas de retorno
$pattern
,$subject
,$limit
= -1,&$count
= null
,$flags
= 0O comportamento desta função é similar a preg_replace_callback(), exceto que chamadas de retorno são executada para cada expressão.
pattern
Um array associativo mapeando expressões (chaves) a funções de retorno do tipo callable (valores).
subject
A string ou um array com strings para pesquisa e substituição.
limit
O número máximo de substituições para cada expressão em cada string de entrada do parâmetro
subject
. O padrão é
-1
(sem limite).
count
Se especificada, esta variável será preenchida com o número de substituições realizadas.
flags
flags
pode ser uma combinação das opções
PREG_OFFSET_CAPTURE
e
PREG_UNMATCHED_AS_NULL
, que influenciam o
formato do array de correspondências.
Consulte a descrição em preg_match() para mais detalhes.
preg_replace_callback_array() retorna um array se o parâmetro
subject
for um array, ou uma string
caso contrário. Em caso de erros, o valor de retorno é null
Se corresponências forem encontradas, a nova string será retornada, caso contrário
subject
será retornado sem alteração.
Se o padrão de expressão regular passado não for compilado para uma expressão regular válida, um E_WARNING
será emitido.
Versão | Descrição |
---|---|
7.4.0 |
O parâmetro flags foi adicionado.
|
Exemplo #1 Exemplo de preg_replace_callback_array()
<?php
$subject = 'Aaaaaa Bbb';
preg_replace_callback_array(
[
'~[a]+~i' => function ($match) {
echo strlen($match[0]), ' correspondências a "a" encontradas', PHP_EOL;
},
'~[b]+~i' => function ($match) {
echo strlen($match[0]), ' correspondências a "b" encontradas', PHP_EOL;
}
],
$subject
);
?>
O exemplo acima produzirá:
6 correspondências a "a" encontradas 3 correspondências a "b" encontradas