Función PHP preg_filter()

PHP 正则表达式(PCRE)Expresiones regulares en PHP (PCRE)

preg_filterLa función se utiliza para realizar una búsqueda y reemplazo de expresiones regulares.

Sintaxis

mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

preg_filter() es equivalente apreg_replace() , pero solo devuelve los resultados que coinciden con el objetivo.

Descripción de parámetros:

  • $pattern: El patrón a buscar. Puede ser una cadena o un array de cadenas.
  • $replacement: La cadena o array de cadenas utilizado para reemplazar.
  • $subject: La cadena o array de cadenas en la que se realiza la búsqueda y el reemplazo.
  • $limit: Opcional, el número máximo de reemplazos por patrón en cada subject. El valor predeterminado es -1 (ilimitado).
  • $count: Opcional, el número de reemplazos realizados.

Ejemplo

Ejemplo que compara preg_filter() y preg_replace()

<?php $subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4'); $pattern = array('/\d/', '/[a-z]/', '/[1a]/'); $replace = array('A:$0', 'B:$0', 'C:$0'); echo "Valor de retorno de preg_filter:\n"; print_r(preg_filter($pattern, $replace, $subject)); echo "Valor de retorno de preg_replace:\n"; print_r(preg_replace($pattern, $replace, $subject)); ?>

El resultado de la ejecución es el siguiente:

preg_filter 返回值:
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [7] => A:4
)
preg_replace 返回值:
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [5] => A
    [6] => B
    [7] => A:4
)

Se puede ver que preg_filter solo devuelve los resultados coincidentes e ignora los que no coinciden, mientras que preg_replace también devuelve los elementos no coincidentes 'A' y 'B'.

PHP 正则表达式(PCRE)Expresiones regulares en PHP (PCRE)

Otras extensiones