2012-03-17 12 views
0

私は単純な正規表現からデータを取得しようとしていますが、奇数の値を返しています。奇数返りの単純正規表現

私は、次のデータを使用してページを解析するに

/(.*) kbps \|/siU 

を使用しています:私はビットレートを取得しようとしています

<b>Bit Rate:</b> 

      320 kbps | 

。助言がありますか?

ベスト、 マット

答えて

0
<?php 

$str = '<b>Bit Rate:</b> 

      320 kbps |'; 

preg_match('#Bit Rate[^\d]+([\w\s]+\w)#msi', $str, $match); 
var_dump($match[1]); 

?> 

// Output 
string(8) "320 kbps" 

それはすべて正規表現でなければなりませんどのように堅牢に依存します。たとえば、上の例では、「ビットレート」に続いて少なくとも1つの非数字の文字(タグの終わり、一部のスペースなど)に続く単語([A-Za-z0-9_])のストリームが特に表示されます。 )[\w\s]+\wは、最後の文字が空白でないことを保証しますが、最後の文字まで空白を含むことができます。