2013-06-06 2 views
3

정규 표현식에 익숙하지 않아서 정말 도움이 필요합니다.preg_match()에서 사용할 정규식은 무엇입니까?

   Number of people 
     </p> 
     <p style="font-size: 150%;"> 
      <b>XXXX</b> 

참고 : 내가 직접이 복사 한

다음 코드로 둘러싸여 나는 사이트의 소스 코드를 분석하고있어, 그 정보 내가 관심은 (호출 XXXX를 할 수 있습니다) 소스 코드이므로 들여 쓰기와 모든 것을 볼 수 있습니다 (중요하다면).

나는이 시도했다, 그러나는 preg_match()는 0 반환

~Number of people\s*</p>\s*<p style="font-size: 150%;">\s*<b>(.+?)</b>~ 

: 당신이 당신의 패턴으로 모든 흰색 문자 (공백, 탭, 줄 바꿈) 잊어 버린

$regex = '~Number of people</p><p style="font-size: 150%;"><b>(.+?)</b>~'; 
+0

** 정규식을 사용하여 HTML을 구문 분석하지 마십시오 **. 정규식으로 HTML을 안정적으로 구문 분석 할 수는 없으며 슬픔과 좌절을 당할 것입니다. HTML이 예상과 다르게 변경되면 코드가 손상됩니다. 이미 작성, 테스트 및 디버깅 된 PHP 모듈을 사용하여 HTML을 올바르게 구문 분석하는 방법에 대한 예제는 http://htmlparsing.com/php를 참조하십시오. –

답변

3

이상

~Number of people\s*</p>\s*<p style="font-size: 150%;">\s*<b>\K[^<]+~ 

그러나 HTML을 구문 분석하는 좋은 방법은 DOM을 사용하는 것입니다. (예를 들어 충분한 소스 코드를 제공하지 않음)

+0

감사 카시미르,하지만 난 그 두 정규 표현식을 사용할 때이 오류가 발생합니다 : "PHP 구문 분석 오류 : 구문 오류, 예기치 못한 T_VARIABLE" – Zannix

+1

@LikBezPujanki :없는 따옴표 또는'에 대한 귀하의 코드를 확인,' –

+0

WORKS! 고맙습니다! – Zannix