PHP获取未包含的逗号分隔值

时间:2013-07-04 02:25:28

标签: php regex

有这样的字符串:

5, "hi all, this is a comma", 'text without comma', 5,'a',',',","

我想将字符串分解为数组,但仍然有值包含逗号(由单个或双引号括起来)

什么是最快的正则表达式(爆炸在这里不起作用)

我可以使用str_getcsv但字符串有时用单引号括起来,有时用双引号括起来!需要更聪明的东西

1 个答案:

答案 0 :(得分:3)

您可以使用csv解析器,或使用此模式 preg_split

$pattern = '~(?:\'[^\']*\'|"[^"]*"|)\K(,|$)~';