preg_split
に2つのデリミタをマージするにはどうすればよいですか?たとえば:preg_splitにPHPで2つのデリミタがある
$str = "this is a test , and more";
$array = preg_split('/(|,)/', $str, -1, PREG_SPLIT_DELIM_CAPTURE);
print_r($array);
は
Array
(
[0] => this
[1] =>
[2] => is
[3] =>
[4] => a
[5] =>
[6] => test
[7] =>
[8] =>
[9] => ,
[10] =>
[11] =>
[12] => and
[13] =>
[14] => more
)
として配列を生成しますが、私は実際には
Array
(
[0] => this
[1] =>
[2] => is
[3] =>
[4] => a
[5] =>
[6] => test
[7] => ,
[8] => and
[9] =>
[10] => more
)
を取得したい、私は2つの区切り文字が隣接しているとき、配列の要素をマージしたいです。つまり、次の部分が2番目の区切り文字であれば、最初の区切り文字を無視します。
あなたの最後の段落は、正規表現ではできないものです。これにカスタムコードが必要です。 –