我想分割一個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