2014-12-18 2 views
1

preg_match과 관련하여 도움이 필요합니다. 문자열 (postal address)에서 추출하려고합니다. 나는이 같은 할 preg_match를 사용preg_match로 주소를 찾으십시오.

$search = "blablablabla 10 rue Robert Schuman 75000 Paris blablablabla"; 
$preg=preg_match("'[0-9] rue (.*) ([0-9]{5})'s" ,$search,$infos); 
print_r($infos); 

이 나를 제공 :

0 rue Robert Schuman 75000 

어떻게 내가 10 대신 단지 0 찾을 수 있습니까?

퍽!

+2

시도 0-9]', 그것은 이상하게 작동합니다. –

답변

1

이 당신을 위해 작동합니다을 :

<?php 

    $search = "blablablabla 10 rue Robert Schuman 75000 Paris blablablabla"; 
    $preg = preg_match("/\d+ rue (.*) ([0-9]{5})/s" ,$search,$infos); 
    print_r($infos); 

?> 

출력하십시오`+`후`[추가

Array 
(
    [0] => 10 rue Robert Schuman 75000 
    [1] => Robert Schuman 
    [2] => 75000 
) 
+0

그 작품! 감사합니다 –

+0

@VincentMallet 오신 것을 환영합니다! 좋은 하루 되세요. (BTW : 가장 도움이 된 답변을 받아 들일 수 있고 upvote하고 문제를 해결할 수 있습니다!) – Rizier123

1
$preg=preg_match("'[0-9]* rue (.*) ([0-9]{5})'s" ,$search,$infos); 

모든 숫자와 일치합니다.

ETA 하나 개 이상의 숫자하려는 경우 :

$preg=preg_match("'[0-9]+ rue (.*) ([0-9]{5})'s" ,$search,$infos); 
관련 문제