0

有这个模式:

preg_match('/Artist:\s+(.*?)\n/i', $mp3info, $artist);

$mp3info 中的这个主题:

Format:  MPEG 1 Layer 3, Stereo
Details: 44100 Hz Stereo, 227 kbps, playtime 03:14
Tag:     ID3v2
Title:   
Artist:  
Album:   Latest
Year:    
Track:   
Genre:   
Comment: 
Encoder=

当 Artist 不为空时工作。为空时 - $artist[1] 返回整个下一行(专辑)。

主题包含所有空格和 \n(换行符)。不能使用 [AZ],因为信息可以是任何语言。

请帮忙。

4

1 回答 1

1

切换到多行模式( m) 并使用锚点( ^, $):

preg_match('/^Artist:[ \t]+(.*)$/mi', $mp3info, $artist);
$artist = $artist[1];

您还需要更改\s为字符类 ( [ \t]),因为换行符正在被吃掉。

于 2012-04-26T13:46:36.587 回答