Как использовать fgetcsv
где ввод является строкой, а не ресурсом?
Как преобразовать строку в ресурс?
fgetcsv
ожидает ресурс дескриптора файла
$str = "1981;2992;19191\n392;488;299\n"some\ntext";199;222"; $array = fgetcsv($str);
Невозможно использовать str_getcsv
потому что тогда мне нужно разбить строку на \n
до str_getcsv
.. Если в некоторых из полей содержится \n
то вывод будет неправильным
Существует функция str_getcsv , она может анализировать строку CSV в массив.
Обновление: если вы не можете использовать функцию str_getcsv
, попробуйте преобразовать строку в поток и использовать ее в fgetcsv
:
$stream = fopen('php://memory', 'r+'); fwrite($stream, '1981;2992;19191\n392;488;299'); rewind($stream); $array = fgetcsv($stream);
Можешь попробовать
str_getcsv()
str_getcsv
Поскольку это не вариант, это ответ, который может помочь, или указать вам в правильном направлении:
String to filehandle Не уверен, что это сработает для вас.