「preg_split」関数とは
「preg_split」関数は、
指定した「正規表現」「文字」「文字列」で、「文字列」を分割することができる関数。
指定した「正規表現」「文字」「文字列」を検索で見つけると、
その文字を区切り文字として抜き取って、文字列を分割する。
複数箇所に見つけると、その分だけ文字列を分割することになる。
「preg_split」関数の書式
preg_split ( string $pattern, string $subject, int $limit, int $flags ) : array|false
返り値(配列 or 真偽値(false)) = preg_split ( 検索したい文字, 検索対象の文字列, 検索する最大文字数, フラグ名 );
$配列名 = preg_split ( 検索したい文字, 検索対象の文字列, 検索する最大文字数, フラグ名 );
$配列名 = preg_split ( 検索したい文字, 検索対象の文字列, 検索する最大文字数 );
$配列名 = preg_split ( 検索したい文字, 検索対象の文字列 );
「preg_split」関数のパラメータ
パラメータ | 説明 |
pattern |
「pattern」パラメータには、
検索する「パターンを表す正規表現」か「文字列」を指定する。
|
subject |
「subject」パラメータには、
検索対象の文字列を指定する。
|
limit |
「limit」パラメータを指定した場合、
指定した数字を最大文字数とした文字列を返す。
残りの文字列は、最後の部分文字列に含めて返す。
「limit」パラメータを「-1」「0」の場合は、「無制限」を意味する。
|
flags |
flags は、次のフラグを組み合わせたものとする (ビット和演算子 | で組み合わせる)ことが可能です。
PREG_SPLIT_NO_EMPTY |
空文字列でないものだけを「返り値」にして返す。
|
PREG_SPLIT_DELIM_CAPTURE |
文字列分割用のパターン中の カッコによるサブパターンでキャプチャされた値も同時に返す。
|
PREG_SPLIT_OFFSET_CAPTURE |
各マッチに対応する文字列のオフセットも返す。
返り値は配列で返され、
要素「0」 = マッチした文字列。
要素「1」 = マッチした文字列のオフセット値。
|
|
返り値 |
検索した「正規表現」「文字列」で分割したものを、配列で返す。
失敗した場合は、真偽値の「false」を返す。
マッチングに失敗した場合は、入力文字列そのまま入れた要素が一つだけの配列を返す。
|
「preg_split」関数のサンプルコード
「,」「 」「\r」「\t」「\n」「\f」などの空白文字で句を分割する
$Result = preg_split("/[\s,]+/", "First Second, Third");
print_r($Result);
出力結果
Array
(
[0] => First
[1] => Second
[2] => Third
)
文字列を文字要素に分割する
$str = 'Sample';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
出力結果
Array
(
[0] => S
[1] => a
[2] => m
[3] => p
[4] => l
[5] => e
)
文字列をマッチするものとそのオフセットに分割
$str = 'First Second Third';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
出力結果
Array
(
[0] => Array
(
[0] => First
[1] => 0
)
[1] => Array
(
[0] => Second
[1] => 6
)
[2] => Array
(
[0] => Third
[1] => 13
)
)
Back