PREG_FILTER 機能ブロック

PREG_FILTER 機能ブロックは、正規表現で検索して置換します。

注意: この機能は Binary-Safe です。これは UTF8文字が直接処理できないことを意味します。

PREG_FILTER 機能ブロックが、一致した場合のみ(可能性として変換された)文字列を返す点を除けば、PREG_REPLACE 機能ブロックと同じです。

入力 PATTERN

検索する文字列の式。いくつかの PCRE 修飾子も利用可能です。

入力 REPLACEMENT

置換する文字列。この文字列には \n または $n の形式の参照を含めることができます。後者が優先されます。これらの参照の各々は、n番目の括弧付き検索パターンでキャプチャされたテキストに置換されます。n は 0 から 99 の値を取ることができます。\0 または $0 は、完全な検索パターンに一致するテキストを参照します。キャプチャされた部分検索パターンの番号を取得するには、左から右へ開き括弧が 1 から数えられます。置換にバックスラッシュを使用するには、それを二重化する必要があります "\\"

検索パターンと一致した後に直接数字が来る置換を扱う場合(つまり、検索パターンと一致した後すぐに数字が来る)、\1 の形式の記述をバックリファレンスに使用することはできません。例えば、\11 は機能を混乱させるでしょう、なぜならそれが \1 の後に数字 1 を望むのか、単にバックリファレンス \11 を望むのかがわかりません。このような場合の解決策は、${1}1 を使用することです。これにより、孤立したバックリファレンス $1 が生成され、1 は文字記号のまま残ります。

古い修飾子 e を使用すると、この機能はバックリファレンスで置換される文字列内のいくつかの文字(具体的には '"\、および NULL)をマスクします。これは、単一または複数の引用符を含むバックリファレンスを使用する際に構文エラーが発生しないようにするためです。文字列の構文を知っていることを確認し、評価された文字列がどのように見えるかを正確に理解してください。

入力 SUBJECT

この入力は検索対象の文字列を定義します。

入力 LIMIT

各 subject における各検索パターンごとの最大置換回数。デフォルト値: -1 または NULL(制限なし)。

出力 Q

一致した場合(可能性として変換された)が見つかった場合、新しい文字列 Q が返されます。それ以外の場合は SUBJECT が変更せずに返されるか、またはエラーが発生した場合は NULL が返されます。

出力 COUNT

この出力は実行された置換回数を返します。