当子模式主题丢失时,preg_match()获取下一行

时间:2012-04-26 13:44:33

标签: php regex preg-match

有这种模式:

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 [1]返回整个下一行(专辑)。

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

请帮忙。

1 个答案:

答案 0 :(得分:1)

切换为multiline modem)并使用anchors^$):

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

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