「preg_replace」関数は、
「正規表現」を使って「検索」「置換」を行う関数。
「preg_replace」関数で文字を削除するには、
「置換」パラメータの引数を「空文字」の「""」にする事で、
検索した文字を、何もない「空文字」に置換える事で、
文字を「削除」する事ができる。
「preg_replace」関数で文字を削除するサンプルコード
「文字」を置換えるサンプルコード
$string = 'Sample Text';
$pattern = 'x';
$replacement = 's';
echo preg_replace($pattern, $replacement, $string);
出力結果:Sample Test
「空白(スペース)」を削除するサンプルコード
$変数名 = preg_replace(” ”, "", ”既存の文字列”);
「改行」を置換えるサンプルコード
$SampleText = preg_replace("\r\n", '', $SampleText);
$SampleText = preg_replace(array("\r\n", "\r", "\n"), '', $SampleText);
$SampleText = preg_replace(array("\r", "\n"), '', $SampleText);
「preg_replace」関数の基本書式
preg_replace(
string|array $pattern,
string|array $replacement,
string|array $subject,
int $limit = -1,
int &$count = null
): string|array|null
「preg_replace」関数は、「subject」で指定した文字列などから、
「pattern」指定した文字を検索し、
合致した文字を「replacement」で指定した文字に置換える。
preg_replace( "検索する文字列", "置換える文字列", "検索対象の文字列", 置換を行う最大回数, 置換え回数を格納する変数): 返り値(文字列・配列・真為値)
preg_replace( 必須, 必須, 必須, 省略可, 省略可): 返り値(文字列・配列・真為値)
$Sample_Text = preg_replace( "検索する文字列", "置換える文字列", "既存の文字列", 3, $置き換え回数を保存する変数);
$S=$SearchText;
$R=$ReplaceText;
$O=$ObjectText;
$RC=$ReplaceCount;
$Sample_Text = preg_replace( $S, $R, $O, 3, $RC);
$Sample_Text = preg_replace( $S, $R, $O, 3, $RC);
$Sample_Text = preg_replace( $S, $R, $O, -1, $RC);
$Sample_Text = preg_replace( $S, $R, $O, 3);
「preg_replace」関数のパラメータ
「preg_replace」関数は、指示を出す「パラメータ」に幅広い値が指定できるようになっている。
「文字列」「変数」の他に、「配列」「正規表現」も指定できる。
パラメータ | 説明 |
pattern |
「pattern」パラメータは、検索を行う「文字列」「パターン」を指定するパラメータ。
「変数」「配列」「正規表現」「PCRE」「修飾子」でも使用可能。
|
replacement |
「replacement」パラメータは、
「置換」する「文字列」を指定するパラメータ。
「文字列」の他に「変数」「配列」「正規表現」でも指定可能。
「配列」で指定した場合は、置換えする度に、配列の次の要素に移行し、
置き換え回数より、配列の要素数が少ない時には、「空文字」に置換えるので、文字が削除される。
「$n」「\n」と指定すると、「pattern」で一致した文字が、参照でき、置換え文字に追加できます。
「$n」「\n」を数字「$1」にすると、配列の時などでは、検索に合致した順番の検索文字列を参照する事ができる。
数字の直後に、数字を置きたい場合は、「${1}1 」と記述する事で可能となる。
|
subject |
「検索」「置換」の対象となる「文字列」をしているパラメータ。
「配列」でも指定可能。
「subject」が配列の場合、「検索」「置換」が「subject」で指定した各要素にして実行され、「返り値」も「配列」となる。
|
limit |
「limit」パラメータは、「置換」を実行する「回数」を指定できるパラメータ。
「subject」に対して、「pattern」による「検索」をし、「replacement」に「置換」をする最大回数。
デフォルトは、「-1(制限無し)」が指定されていて、「検索」されたものは、全て「置換」が実行される。
|
count |
「count」パラメータに、「変数」が指定されると、「置換」が実行された回数が格納される。
指定する「変数」は、「空」「0」の変数が良い。
|
戻り値 |
「preg_replace」関数は、「subject」引数が、「配列」の場合は「配列」、「その他」の場合は「文字列」で返される。
返り値の値は、
・パターンがマッチした場合 = 「置換」された新しい「subject」
・マッチしなかった場合 = 「subject」をそのまま返す。
・エラーが発生した場合 = 「null」を返す。
|
エラー / 例外 |
「\e」修飾子を使用すると、「E_WARNING」レベルのエラーが発生する。
指定した「正規表現」の「パターン」が「コンパイル」できない場合、「E_WARNING」が発生する。
|
「preg_replace」関数のサンプルコード
「文字」を置換えるサンプルコード
$string = 'Sample Text';
$pattern = 'x';
$replacement = 's';
echo preg_replace($pattern, $replacement, $string);
出力結果:Sample Test
「空白(スペース)」を削除するサンプルコード
$変数名 = preg_replace(” ”, "", ”既存の文字列”);
「改行」を置換えるサンプルコード
$SampleText = preg_replace("\r\n", '', $SampleText);
$SampleText = preg_replace(array("\r\n", "\r", "\n"), '', $SampleText);
$SampleText = preg_replace(array("\r", "\n"), '', $SampleText);
Back