PHP preg_filter()関数
例
文字列のリストで数字を角かっこで囲みます。
<?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);
?>
定義と使用法
このpreg_filter()
関数は、パターンの一致が置換文字列に置き換えられた文字列または文字列の配列を返します。
入力が配列の場合、この関数は配列を返します。入力が文字列の場合、この関数は文字列を返します。
この関数は似ていますがpreg_replace()
、1つの違いがあります。入力文字列でパターンに一致するものが見つからない場合、その文字列は戻り値で使用されません。このシナリオでは、入力が配列ではなく文字列の場合、関数はnullを返します。
置換文字列には、\ nまたは$ nの形式の後方参照が含まれる場合があります。nはパターン内のグループのインデックスです。返される文字列では、\ nと$ nのインスタンスは、グループによって一致したサブ文字列に置き換えられます。\ 0または$ 0が使用されている場合は、式全体に置き換えられます。
構文
preg_filter(pattern, replacement, input, limit, count)
パラメータ値
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 |
技術的な詳細
戻り値: | 入力が配列の場合は置換された文字列の配列を返し、入力が文字列の場合は置換された文字列を返し、入力が文字列で一致が見つからなかった場合はnullを返します。 |
---|---|
PHPバージョン: | 5.3.0 |
❮PHPRegExpリファレンス