元の文字列を再生成できるpreg_split
ように、 で配列を生成する必要があります。implode('', $array)
`preg_split の
$str = 'this is a test "some quotations is her" and more';
$array = preg_split('/( |".*?")/', $str, -1, PREG_SPLIT_DELIM_CAPTURE);
の配列を生成します
Array
(
[0] => this
[1] =>
[2] => is
[3] =>
[4] => a
[5] =>
[6] => test
[7] =>
[8] =>
[9] => "some quotations is here"
[10] =>
[11] =>
[12] => and
[13] =>
[14] => more
)
元の文字列の正確なパターンで配列を生成するには、引用符の前後のスペースにも注意する必要があります。
たとえば、文字列が の場合test "some quotations is here"and
、配列は次のようになります。
Array
(
[0] => test
[1] =>
[2] => "some quotations is here"
[3] => and
)
注: 編集は @micel との最初の議論に基づいて行われました。