Как заставить PHP экранировать CSV правильно (fgetcsv)?

Похоже, у PHP есть проблемы в fgetcsv или str_getcsv с двойными кавычками и экранированием.

Вот простой пример из командной строки:

$ echo '"\"test\""' | php -r '$t=file_get_contents("php://stdin"); print "input: ".$t."\noutput: ".str_getcsv($t)[0];'

результат:

input: "\"test\""output: \"test\"

ожидаемый результат:

input: "\"test\""output: "test"

Я ожидал бы, что выходные данные будут другими, потому что внешние кавычки включают в себя кавычки, а внутренние экранированы. Экранирующий символ не должен переноситься на выход.

Почему PHP интерпретирует это по-другому и что такое надежный обходной путь?

3

Решение

Задача ещё не решена.

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

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

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