У меня проблема с функцией str_getcsv для PHP.
У меня есть этот код:
<?php
$string = '#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=714000,RESOLUTION=640x480,CODECS="avc1.77.30, mp4a.40.34"';
$array = str_getcsv($string, ",", '"');
print_r($array);
Что должно вернуться:
Array
(
[0] => #EXT-X-STREAM-INF:PROGRAM-ID=1
[1] => BANDWIDTH=714000
[2] => RESOLUTION=640x480
[3] => CODECS=avc1.77.30, mp4a.40.34
)
Но вместо этого он возвращает:
Array
(
[0] => #EXT-X-STREAM-INF:PROGRAM-ID=1
[1] => BANDWIDTH=714000
[2] => RESOLUTION=640x480
[3] => CODECS="avc1.77.30
[4] => mp4a.40.34"
)
Потому что он игнорирует вложение последнего параметра: CODECS и разделяет также эту информацию. Я использую str_getcsv вместо простого взрыва(",", $string) именно по этой причине (эта функция должна учитывать вложение), но она работает так же, как и взрыв.
Выполняемый код: http://eval.in/17471