PHP preg_filter() Function
Example
Wrap numbers in brackets in a list of strings:
<?php
$input = [
"It is 5 o'clock",
"40 days",
"No
numbers here",
"In the year 2000"
];
$result =
preg_filter('/[0-9]+/', '($0)', $input);
print_r($result);
?>
Try it Yourself »
Definition and Usage
The preg_filter()
function returns a string or array of strings in which matches of the pattern
have been replaced with the replacement string.
If the input is an array, this function returns an array. If the input is a string then this function returns a string.
This function is similar to preg_replace()
with one difference: When a match for the pattern
is not found in an input string, the string will not be used in the return value. In this
scenario, if the input is a string instead of an array then the function returns null.
Replacement strings may contain backreferences in the form \n or $n where n is the index of a group in the pattern. In the returned string, instances of \n and $n will be replaced with the substring that was matched by the group or, if \0 or $0 are used, by the whole expression.
Syntax
preg_filter(pattern, replacement, input, limit, count)
Parameter Values
Parameter | Description |
---|---|
pattern | Required. Contains a regular expression indicating what to search for |
replacement | Required. A string which will replace the matched patterns. It may contain backreferences |
input | Required. A string or array of strings in which the replacements are being performed |
limit | Optional. Defaults to -1, meaning unlimited. Sets a limit to how many replacements can be done in each string |
count | Optional. After the function has executed, this variable will contain a number indicating how many replacements were performed |
Technical Details
Return Value: | Returns an array of replaced strings if the input was an array, a string with replacements made if the input was a string or null if the input was a string and no matches were found |
---|---|
PHP Version: | 5.3.0 |
❮ PHP RegExp Reference