Php/docs/function.preg-filter

提供:Dev Guides
< Php
移動先:案内検索

preg_filter

(PHP 5 >= 5.3.0, PHP 7)

preg_filter正規表現による検索と置換を行う


説明

preg_filter ( string|array $pattern , string|array $replacement , string|array $subject [, int $limit = -1 [, int &$count = null ]] ) : string|array|null

preg_filter()preg_replace() と似ていますが、マッチした結果 (を変換したもの) のみを返します。 この関数の挙動の詳細については preg_replace() のドキュメントを参照ください。


返り値

subject が配列の場合は配列を、それ以外の場合は文字列を返します。

マッチする結果が見つからなかったりエラーが発生したりした場合は、 subjectarray なら空の配列を返し、そうでなければ null を返します。


例1 preg_filter()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 "preg_filter returns\n";print_r(preg_filter($pattern, $replace, $subject)); echo "preg_replace returns\n";print_r(preg_replace($pattern, $replace, $subject)); ?>

上の例の出力は以下となります。


preg_filter returns
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [7] => A:4
)
preg_replace returns
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
)

参考