str_getcsv, который не удаляет символ вложения

Я хотел бы разбить строку с разделенными запятыми значениями в массив. str_getcsv кажется хорошим вариантом, но он удаляет символ вложения ("), если это в начале и в конце значения. Я хотел бы сохранить символы вложения. Рассмотрим строку $str = 'foo,"bar","qwe,rty"', str_getcsv($str) возвращается

['foo', 'bar', 'qwe,rty']

Я бы хотел

['foo', '"bar"', '"qwe,rty"']

Как мне этого добиться?

0

Решение

Попробуй это

$str = 'foo,"bar","qwe,rty"'
$res = preg_split('/,(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))/', $str,-1,PREG_SPLIT_DELIM_CAPTURE);
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector