205 of 410 menu

Функция preg_replace_callback_array

La función preg_replace_callback_array permite realizar múltiples reemplazos en una cadena utilizando diferentes funciones de callback para cada expresión regular. El primer parámetro de la función acepta un array asociativo, donde las claves son las expresiones regulares y los valores son las funciones de callback. El segundo parámetro es la cadena a procesar.

Sintaxis

preg_replace_callback_array(array $patterns_and_callbacks, string $subject): string

Ejemplo

Reemplacemos los números por sus cuadrados y las letras por mayúsculas:

<?php $str = 'a1b2c3'; $res = preg_replace_callback_array([ '/\d+/' => function($matches) { return $matches[0] * $matches[0]; }, '/[a-z]/' => function($matches) { return strtoupper($matches[0]); } ], $str); echo $res; ?>

Resultado de la ejecución del código:

'A1B4C9'

Ejemplo

Transformemos las fechas de un formato a otro y resaltemos los números en negrita:

<?php $text = 'Date: 2023-05-15'; $res = preg_replace_callback_array([ '/(\d{4})-(\d{2})-(\d{2})/' => function($matches) { return $matches[3].'.'.$matches[2].'.'.$matches[1]; }, '/\d+/' => function($matches) { return '<b>'.$matches[0].'</b>'; } ], $text); echo $res; ?>

Resultado de la ejecución del código:

'Date: <b>15</b>.<b>05</b>.<b>2023</b>'

Ver también

  • la función preg_replace_callback,
    que realiza el reemplazo con una única función de callback
  • la función preg_replace,
    que realiza el reemplazo mediante una expresión regular
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar