区分逗号和逗号空格


Differentiate between comma and comma space

我有一行来自CSV文件,像这样:

"第一款"、"项2","3"项,"第四项","第五项,测试6"重复数千行条目之间不能有空格

项目5和测试6之间的逗号应该在那里。我想把这一行变成一个数组。
$i=1;
$temp_array = array();
$number = COUNT($array);
while($i <= $number) {
    $temp_array[] = explode(",", $array[$i]);
    $i++;
}

数组当前输出为"

"
[1] => Array
        (
            [0] => "Item 1"
            [1] => "Item 2"
            [2] => "Item 2"
            [3] => "Item 2"
            [4] => "Item 5
            [5] => Test 6"
        )

输出如下:

[1] => Array
        (
            [0] => "Item 1"
            [1] => "Item 2"
            [2] => "Item 2"
            [3] => "Item 2"
            [4] => "Item 5, Test 6"
        )

我会考虑使用PHP的函数'str_getcsv' -可能会节省一些麻烦。

这个函数将CSV字符串解析为PHP数组。http://php.net/manual/en/function.str-getcsv.php

的例子:

$array = str_getcsv($csv_string, ",");

逐字匹配。

$i=1;
$temp_array = array();
$number = COUNT($array);
while($i <= $number) {
    $temp_array[] = explode('","', $array[$i]);
    $i++;
}

如果你使用的是PHP 5或更高版本,你也可以这样做:

$string = ''; //your string.
$delimeter = ',';
$enclosure = '"';
$newArray = str_getcsv($input,$delimiter,$enclosure);

使用regex拆分字符串

$temp_array = preg_split (",(?=[^ ])" , $array[$i]);
//                           ^ = "look ahead and make sure its not a space"

在javascript中测试