The preg_filter function is used to perform a regular expression search and replace.
mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
preg_filter() is equivalent to preg_replace(), but it only returns results that match the target.
Parameter description:
$pattern: The pattern to search for. Can be a string or an array of strings.
$replacement: String or array of strings used for replacement.
$subject: The string or array of strings to search and replace.
$limit: Optional, the maximum number of substitutions per pattern on each subject. The default is -1 (unlimited).
$count: Optional, the number of replacements completed.
The execution result is as follows:
preg_filter return value: Array( [0] => A:C:1 [1] => B:C:a [2] => A:2 [3] => B:b [4] => A:3 [7] => A:4)preg_replace return value: 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)
It can be seen that preg_filter only returns the matching results, and the unmatched ones are ignored directly, while preg_replace also returns the unmatched results 'A' and 'B' elements together.