関数 preg_split
関数 preg_split は、区切り文字を検索するために正規表現を使用して、文字列を配列要素に分割します。最初のパラメータは正規表現を受け取り、2番目のパラメータは元の文字列を受け取ります。3番目のオプションパラメータは、結果の配列要素の数を指定します。4番目のオプションパラメータは、関数の動作を変更するフラグを指定します。
構文
preg_split(pattern, subject, [limit], [flags]);
フラグ
| フラグ | 定数 | 説明 |
|---|---|---|
PREG_SPLIT_NO_EMPTY |
1 | 分割後の空でない部分のみを返します。 |
PREG_SPLIT_DELIM_CAPTURE |
2 | 正規表現内のサブパターンとの一致部分をキャプチャして返します。 |
PREG_SPLIT_OFFSET_CAPTURE |
4 | 返される各部分について、元の文字列内でのその位置を追加します。 |
例
カンマで文字列を分割します:
<?php
$res = preg_split('/,/', 'a,b,c,d,e');
var_dump($res);
?>
コード実行結果:
['a', 'b', 'c', 'd', 'e']
例
任意の空白文字で文字列を分割し、要素数に制限を設けます:
<?php
$res = preg_split('/\s+/', '1 2 3 4 5', 3);
var_dump($res);
?>
コード実行結果:
['1', '2', '3 4 5']
例
空の要素を除外するためのフラグ PREG_SPLIT_NO_EMPTY の使用:
<?php
$res = preg_split('/[,\s]/', 'a,b, c, ,d', -1, PREG_SPLIT_NO_EMPTY);
var_dump($res);
?>
コード実行結果:
['a', 'b', 'c', 'd']
関連項目
-
正規表現による検索を行う関数
preg_match -
単純な区切り文字で文字列を分割する関数
explode