2012-03-17 4 views
0

나는 간단한 정규식에서 자료를 얻는 것을 시도하고있다 그러나 괴상한 가치를 돌려 보내고있다. 나는 다음과 같은 데이터가있는 페이지를 구문 분석 할 수 이상한 반환을 가진 간단한 Regexp

/(.*) 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" 

그것은 모두 정규식해야합니다 얼마나 강력한에 따라 달라집니다. 예를 들어, 위의 예에서는 "Bit Rate"다음에 하나 이상의 숫자가 아닌 문자 ([A-Za-z0-9_])의 스트림이 표시됩니다 (태그의 끝, 일부 공백 등).) [\w\s]+\w은 마지막 문자가 공백이 아니지만 마지막 단어 문자까지 공백을 포함 할 수 있음을 보장합니다.