Я получаю CSV-данные из SOAP-вызова в php. К сожалению, данные могут содержать запятые. Он отформатирован правильно, как в
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-данные, содержащие запятые в нем?