2013-04-27 3 views
0

페이지에서 모든 숫자를 추출하려고합니다. 페이지는 다음과 같습니다 : 목록에있는 숫자의 양은 다를 수 있습니다정규식으로 PHP에서 숫자를 얻으십시오

....lots of html code .... 
<script> 
..some code... 
["listidname",[],{"list":["123456","96326478664","123456789"]},12] 
...more code.... 
</script> 
...even more code... 

, 또한 마지막에 (12) 그냥 임의의 숫자, 그래서이뿐만 아니라 다를 수 있습니다.

는 내가 뭘하려고 추출 할 수있는 123456, 96326478664 내가 혼자 정규 표현식에하자 PHP와 정말 강한 아니다 그러나 123456789. 는 ..

preg_match_all("/(\d+)/", $input, $output); 

는 나에게 번호를 제공하지만, 또한 다른 모든 페이지의 숫자 ...

아무도 도와 줄 수 있습니까? 감사합니다.

+0

당신은 큰 따옴표로 감싸 숫자를 하시겠습니까? – bwoebi

+0

'print_r (json_decode ($ input)) '사용 – Baba

+0

이것은 html 파일의 코드 세그먼트입니다. 차라리 json 부분을 추출 할 수있는 방법을 보여 줄 수 있다면 정규식을 사용해서 제외 시키십시오 ...? – user1952084

답변

0

시도의 숫자가있을 경우 :

if (preg_match('~\["listidname",\[],\{"list":(?:[[,]"\d++")++]},\d++]~', $html, $match)) { 
    preg_match_all('~"\K\d++~', $match[0] ,$result); 
    print_r($result); 
} 
+0

고마워요! if 문 안쪽에 print_r ($ result)을 넣어야했습니다. – user1952084

+0

맞아! 게시물을 편집합니다. –

1

따옴표 당신은 먼저 번호를 찾을 라인을 추출 후해야한다

preg_match_all("/\"(\d+)\"/", $input, $output); 
관련 문제