7

preg_replaceとはどう違いpreg_filterますか?特定の状況で一方を他方の代わりに使用すると、何か利点はありますか? ドキュメントを読んでみましたが、まだ違いがよくわかりません。教えてください。ありがとう。

4

2 に答える 2

2

preg_filteroverの利点はpreg_replace、何かが置き換えられたかどうかを確認できることです。何も置き換えられていないpreg_filter場合は null をpreg_replace返し、while は関係なく主語を返すためです。

$subject = 'chips';
$pattern = '/chops/';
$replacement = 'flops';

if (is_null(preg_filter($pattern, $replacement, $subject)) { // true
    // do something
}

echo preg_replace($pattern, $replacement, $subject); // 'chips'
于 2015-05-22T17:17:14.903 に答える
1

preg_filter() は preg_replace() と同じですが、一致した (場合によっては変換された) サブジェクトのみを返す点が異なります。この関数の仕組みの詳細については、preg_replace() のドキュメントを参照してください。

から:ここ

したがって、署名が

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

$subject「変換された」引数を返します(一致するregex patternものはすべて置換されます)配列に

于 2012-06-13T06:56:56.133 に答える