preg_split
のように、カンマで文字列を分割できます
$words = preg_split('/[,]/', $string);
ドット、スペース、セミコロンを使用して、これらのいずれかで文字列を分割するにはどうすればよいですか?
PS。PHP preg_split ページで関連する例を見つけることができなかったので、質問しています。
preg_split
のように、カンマで文字列を分割できます
$words = preg_split('/[,]/', $string);
ドット、スペース、セミコロンを使用して、これらのいずれかで文字列を分割するにはどうすればよいですか?
PS。PHP preg_split ページで関連する例を見つけることができなかったので、質問しています。
これを試して:
<?php
$string = "foo bar baz; boo, bat";
$words = preg_split('/[,.\s;]+/', $string);
var_dump($words);
// -> ["foo", "bar", "baz", "boo", "bat"]
パターンの説明
[]
は文字クラスです。文字クラスは複数の文字で構成され、クラス内の文字の 1 つに一致します
.
これは、文字クラス内.
でエスケープする必要はありません。これは文字クラスでない場合はエスケープする必要がありますが、これは「任意の文字に一致する」ことを意味するためです。.
\s
空白に一致
;
セミコロンで分割するには、特別な意味がないため、エスケープする必要はありません。
+
末尾の は、分割文字の後のスペースが一致として表示されないようにします
例はありますが、おそらく文字通りではありませんが、区切り文字の複数のオプションを使用した分割です
$words = preg_split('/[ ;.,]/', $string);
このようなもの?
<?php
$string = "blsdk.bldf,las;kbdl aksm,alskbdklasd";
$words = preg_split('/[,\ \.;]/', $string);
print_r( $words );
結果:
Array
(
[0] => blsdk
[1] => bldf
[2] => las
[3] => kbdl
[4] => aksm
[5] => alskbdklasd
)
$words = preg_split('/[\,\.\ ]/', $string);
これらの文字を式に追加するだけです
$words = preg_split('/[;,. ]/', $string);
EDIT : Igoris Azanovas のおかげで、文字クラスでドットをエスケープする必要はありません;)
$words = preg_split('/[,\.\s;]/', $string);