我有一行来自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中测试