繁体   English   中英

通过分隔符拆分字符串,忽略引号内的分隔符

[英]Split string by delimiter ignoring delimiter inside quotes

我要导入的文件中的字符串: 1,2,3,"a","b","c","1,2,3,4,5",6,7

所需的输出将是一个由逗号分隔的数组,但忽略了双引号之间的任何逗号。

[0] = 1;
[1] = 2;
[2] = 3;
[4] = "a";
[5] = "b";
[6] = "c";
[7] = "1,2,3,4,5";
[8] = 6;
[9] = 7;

需要使用PHP 5.2及更低版本。 我知道fget_csv函数在PHP 5.3中允许这样做,但不幸的是,它不是一个选项。

进行了相当广泛的搜索,到目前为止,我还没有找到解决方案。 有任何想法吗?

您可以在PHP <5.3中执行csv:

$lines = array();
if (($handle = fopen('file.csv', 'r')) !== FALSE) {
    while (($line = fgetcsv($handle, 1000, ",")) !== FALSE) {
  $lines[] = $line;
 }
    fclose($handle);
}
print_r($lines);

/* output:
Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
            [3] => a
            [4] => b
            [5] => c
            [6] => 1,2,3,4,5
            [7] => 6
            [8] => 7
        )

)
*/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM