我想分割一个CSV字符串。该字符串看起来像:分割CSV,但不是仅逗号(PHP)?
“VAL1”,“值2”,“VAL3,一些其他的东西”,“VAL4”
正如你看到的,有可能的值内的逗号(见VAL3 ),所以在逗号上使用爆炸将无法工作。
我也试过:
preg_split('/","/', $myLine)
这不工作,虽然,我会怎么做,否则?
感谢您的帮助:)
我想分割一个CSV字符串。该字符串看起来像:分割CSV,但不是仅逗号(PHP)?
“VAL1”,“值2”,“VAL3,一些其他的东西”,“VAL4”
正如你看到的,有可能的值内的逗号(见VAL3 ),所以在逗号上使用爆炸将无法工作。
我也试过:
preg_split('/","/', $myLine)
这不工作,虽然,我会怎么做,否则?
感谢您的帮助:)
您可以使用内置的fgetcsv如果你的数据是在一个文件中,
或str_getcsv如果你的数据是一个字符串
啊,是的,str_getcsv正是我所需要的!非常感谢 – user1540714 2012-07-27 07:35:30
对于PHP的CSV文件功能:fgetcsv
在第三个参数可以设置delimetr,默认情况下 - “”(逗号)
函数读取每行并返回数组当前行元素
例:
$f = fopen('file.csv', 'r+');
while (($data = fgetcsv($f, 1000, ",")) !== FALSE) {
/* $data is array with elements for current line */
}
fclose($f);
完全正确。 “fgetcsv()”支持“分隔符”(所以你可以使用除逗号之外的东西)和“外壳”(它很好地解决了这个问题)。 – paulsm4 2012-07-27 07:33:26
$inputfiledelimiter="~";
if (($handle = fopen($target_path, "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 0, $inputfiledelimiter)) !== FALSE)
{
}
}
问问题,就像你被要求在HTTP之前,请使用搜索功能://计算器.COM /问题/要求,建议。 [如何解析CSV文件已被问及几十次回答](http://stackoverflow.com/search?q=parse+csv+php)。谢谢。 – Gordon 2012-07-27 07:34:55
好吧,我记住这一点... – user1540714 2012-07-27 07:47:06