【发布时间】:2017-01-03 17:45:07
【问题描述】:
我正在尝试拆分包含逗号分隔值集的字符串。这可以简单地通过使用str_getcsv 来实现,但我还有一个额外的要求,它达不到。我需要保留引号。
输入字符串为:
string(30) "Hello, "San Diego, California""
我尝试了两种方法:
爆炸
$result = explode(",", $string);
结果
array(3) {
[0]=>
string(5) "Hello"
[1]=>
string(11) " "San Diego"
[2]=>
string(12) " California""
}
str_getcsv
$result = str_getcsv($string, ",");
这个结果
array(2) {
[0]=>
string(5) "Hello"
[1]=>
string(21) "San Diego, California"
}
我更喜欢使用str_getcsv,因为它可以正确地拆分值,但会去掉封闭的引号。我需要这些引号,所以我希望我可以在不自动删除引号的情况下调用该函数。
附加信息
我实际上对正则表达式解决方案持开放态度,但我在该领域一无所知。
我尝试了solution here,但它不起作用。
【问题讨论】:
标签: php regex string csv split