引用符の後に2番目の引用符("")が続く場合を除いて、デリミタキャプチャを使用して引用符文字(")でUTF-8文字列を分割しようとしています(たとえば)
"A ""B"" C" & "D ""E"" F"
3つの要素に分かれます
"A ""B"" C"
&
"D ""E"" F"
私は使用しようとしてきました:
$string = '"A ""B"" C" & "D ""E"" F"';
$temp = preg_split(
'/"[^"]/mui',
$string,
null,
PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE
);
しかし、それが私に与える成功なし
array(7) {
[0]=>
string(2) " ""
[1]=>
string(1) """
[2]=>
string(1) "C"
[3]=>
string(2) "& "
[4]=>
string(2) " ""
[5]=>
string(1) """
[6]=>
string(2) "F""
}
したがって、その文字が引用でもある場合を除き、引用の直後に続く文字はすべて失われます
この例では、文字列の最初と最後の文字として引用符がありますが、常にそうであるとは限りません。
{ "A ""B"" C" & "D ""E"" F" }
5つの要素に分割する必要があります
{
"A ""B"" C"
&
"D ""E"" F"
}
誰でもこれを機能させるのを手伝ってもらえますか?