fork download
  1. <?php
  2.  
  3. $re = '/^\h*(.*?)\h*:\h*(?|\'([^\']+)\'|(.*))/m';
  4. $str = 'Input File : \'/path/to/audiofile/file.mp3\'
  5. Channels : 2
  6. Sample Rate : 44100
  7. Precision : 16-bit
  8. Duration : 00:06:11.05 = 16363349 samples = 27828.8 CDDA sectors
  9. File Size : 5.94M
  10. Bit Rate : 128k
  11. Sample Encoding: MPEG audio (layer I, II or III)';
  12.  
  13. if (preg_match_all($re, $str, $matches)) {
  14. print_r(array_combine($matches[1], $matches[2]));
  15. }
  16.  
Success #stdin #stdout 0.02s 23992KB
stdin
Standard input is empty
stdout
Array
(
    [Input File] => /path/to/audiofile/file.mp3
    [Channels] => 2
    [Sample Rate] => 44100
    [Precision] => 16-bit
    [Duration] => 00:06:11.05 = 16363349 samples = 27828.8 CDDA sectors
    [File Size] => 5.94M
    [Bit Rate] => 128k
    [Sample Encoding] => MPEG audio (layer I, II or III)
)