1

preg_splitのように、カンマで文字列を分割できます

$words = preg_split('/[,]/', $string);

ドット、スペース、セミコロンを使用して、これらのいずれかで文字列を分割するにはどうすればよいですか?

PS。PHP preg_split ページで関連する例を見つけることができなかったので、質問しています。

4

6 に答える 6

7

これを試して:

<?php

$string = "foo bar baz; boo, bat";

$words = preg_split('/[,.\s;]+/', $string);

var_dump($words);
// -> ["foo", "bar", "baz", "boo", "bat"]

パターンの説明

[]は文字クラスです。文字クラスは複数の文字で構成され、クラス内の文字の 1 つに一致します

.これは、文字クラス.でエスケープする必要はありません。これは文字クラスでない場合はエスケープする必要がありますが、これは「任意の文字に一致する」ことを意味するためです。.

\s空白に一致

;セミコロンで分割するには、特別な意味がないため、エスケープする必要はありません。

+末尾の は、分割文字の後のスペースが一致として表示されないようにします

于 2011-07-25T07:52:33.757 に答える
3

例はありますが、おそらく文字通りではありませんが、区切り文字の複数のオプションを使用した分割です

$words = preg_split('/[ ;.,]/', $string);
于 2011-07-25T07:43:06.670 に答える
2

このようなもの?

<?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
)
于 2011-07-25T07:43:31.693 に答える
1
$words = preg_split('/[\,\.\ ]/', $string);
于 2011-07-25T07:42:28.217 に答える
1

これらの文字を式に追加するだけです

$words = preg_split('/[;,. ]/', $string);

EDIT : Igoris Azanovas のおかげで、文字クラスでドットをエスケープする必要はありません;)

于 2011-07-25T07:42:57.797 に答える
0
$words = preg_split('/[,\.\s;]/', $string);
于 2011-07-25T07:43:25.470 に答える