【发布时间】:2011-09-26 01:57:00
【问题描述】:
我从 php 中的 SOAP 调用中获取 CSV 数据。不幸的是,数据中可能包含逗号。它的格式正确,如
1,name,2,lariat,3,"first, last",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);
其中 * 是分隔符,但 preg_replace 会生成一个额外的 *。我尝试了其他几种涉及preg_match 和其他preg_ 函数的方法,但没有成功地进行任何类型的干净拆分。
关于如何拆分包含逗号的 CSV 数据有什么建议吗?
【问题讨论】:
标签: php javascript regex soap csv