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 に答える