spliti
(PHP 4 >= 4.0.1, PHP 5)
spliti — 大文字小文字を区別しない正規表現により文字列を分割し、配列に格納する
説明
$pattern
, string $string
[, int $limit = -1
] )
string を、正規表現によって配列に分割します。
この関数は、アルファベット文字にマッチさせる際に大文字小文字を 区別しないこと以外は、 split() と同じです。
この関数は PHP 5.3.0 で 非推奨となりました。 この機能を使用しないことを強く推奨します。
パラメータ
-
pattern -
大文字小文字を区別しない正規表現。
正規表現で特殊文字とみなされる文字を分割したい場合、それらを まずエスケープする必要があります。 spliti() (または他の正規表現関数に関して)の動作が何か変であると感じたならば、 PHP 配布ファイルの regex/ サブディレクトリにあるファイル regex.7 を読んでください。このファイルは man ページ形式となっており、読むには man /usr/local/src/regex/regex.7 のようにします。
-
string -
入力文字列。
-
limit -
limitが指定された場合、返される配列には 最大limitの要素が含まれます。この場合、 最後の要素にはstringの残りの部分が全て 入っています。
返り値
文字列の配列を返します。配列の各要素は、大文字小文字を区別する正規表現
pattern により区切られた
string 中の部分文字列です。
pattern が n 回
現れる場合、返される配列には、
n+1 個のアイテムが
含まれます。例えば、pattern が現れない場合、
1 個の要素のみを有する配列が返されます。もちろん、これは
string が空の場合でも有効です。
エラーを生じた場合、 spliti() は
FALSE を返します。
例
この例では 'a' を区切り文字として文字列を分割します。
例1 spliti() の例
<?php
$string = "aBBBaCCCADDDaEEEaGGGA";
$chunks = spliti ("a", $string, 5);
print_r($chunks);
?>
上の例の出力は以下となります。
Array ( [0] => [1] => BBB [2] => CCC [3] => DDD [4] => EEEaGGGA )
注意
注意:
PHP 5.3.0 以降、 regex 拡張モジュールは非推奨となりました。かわりに PCRE 拡張モジュール を使うことが推奨されています。 この関数をコールすると
E_DEPRECATEDが発生します。 PCRE への変換についてのヘルプは 相違点の一覧 を参照ください。
参考
- preg_split() - 正規表現で文字列を分割する
- split() - 正規表現により文字列を分割し、配列に格納する
- explode() - 文字列を文字列により分割する
- implode() - 配列要素を文字列により連結する