我从php中的SOAP调用中获取CSV数据。不幸的是,这些数据可能含有逗号。这是正确的格式为处理CSV中的逗号
1名,2,套索,3, “第一,去年” 5,NMEA,...
我需要解析它在PHP或JavaScript的单个值。我浏览过堆栈溢出和其他地方的线程,但没有在php/javascript中找到具体的解决方案。
我目前使用的方法是
$subject = '123,name,456,lryyrt,123213,"first,last",8585,namea3';
$pattern = '/,|,"/';
$t2=preg_replace ('/,|(".*")/','$0*',$subject);
$t2=str_replace(',','*',$t2);
$t2=str_replace('*',',',$t2);
其中*是deliminator,但preg_replace
产生一个额外的*。我尝试了一些其他方法,包括preg_match
和其他preg_
函数,但没有成功进行任何形式的清理分割。
有关如何拆分其中包含逗号的CSV数据的任何建议?
要注意,str_getcsv在PHP 5.3之前不可用。在此之前,fgetcsv被使用。如果您没有直接从文件或其他流中获取内容,则可能必须先将其强制为流(php:// memory,然后写入位置重置)或文件。 – Zimzat