0

我仍在尝试找出一种方法来考虑转义引号,例如"test\";nosplit"'test\';nosplit'

到目前为止,我有这样的事情:

preg_split('#(^;)|(;$)|(?<!["\'\\]);#', $str_to_split);

但它甚至无法处理以下简单的事情:test; 1; 2; '34;34'; wtvr

我希望它在这些上分开:

    v  v  v        v
test; 1; 2; '34;34'; wtvr

    v  v v            v
test; 1;2; '34\'34;34'; wtvr 

    v  v v            v
test; 1;2; "34\"34;34"; wtvr

    v  v v            v
test; 1;2; '34\"34;34'; wtvr 

    v  v v            v
test; 1;2; "34\'34;34"; wtvr

    v  v v                    v
test; 1;2; "3 4 \' 3  4 ; 3 4"; wtvr

我怎样才能使这项工作?

4

1 回答 1

0

为什么不使用str_getcsv

var_dump(str_getcsv("test;1;2;'34;34';wtvr",";","'"));

http://ideone.com/JoFkr7#

于 2013-03-03T01:41:43.150 回答