我对 PHP 的 str_getcsv 函数有疑问。
我有这个代码:
<?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 而不是仅仅因为这个原因做 explode(",", $string) (该函数应该尊重外壳),但它的工作方式与 explode 将做的一样。
正在执行的代码: http: //eval.in/17471