2
我有一個PHP的str_getcsv函數的問題。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,而不是僅僅因爲這個原因而爆炸(「,」,$ string)(該函數應該尊重機箱),但它的工作原理與爆炸一樣。正在執行
謝謝你的回答。我正在從m3u8文件接收這些信息。是否有任何簡單的方法來獲取我想要的信息? – Cito 2013-04-24 14:54:56
@AbrahamSustaita:'str_replace('CODECS ='','「CODECS =',$ line)'會讓你提早回家。不純粹地獄,但你不能與實用性爭論。 – Jon 2013-04-24 14:59:10