나는 포스트 코드를 조작하는 함수를 만들려고하는데, 영국의 우편 번호가 다르기 때문에, 그것을 통과 시키려고 노력하고있다. (예 : "DN11AA") 그러면 다음을 반환해야합니다. "dn | dn1-1 | dn1-1aa"PHP 문자열 스트립 함수를 만드는 방법
"B32B"를 전달하는 또 다른 예는 "b | b3-2 | b3-2b"
을 반환합니다.시간을내어 읽어 주셔서 감사합니다.
나는 포스트 코드를 조작하는 함수를 만들려고하는데, 영국의 우편 번호가 다르기 때문에, 그것을 통과 시키려고 노력하고있다. (예 : "DN11AA") 그러면 다음을 반환해야합니다. "dn | dn1-1 | dn1-1aa"PHP 문자열 스트립 함수를 만드는 방법
"B32B"를 전달하는 또 다른 예는 "b | b3-2 | b3-2b"
을 반환합니다.시간을내어 읽어 주셔서 감사합니다.
:
는 우편 번호를 구문 분석하는 방법에 대한 자세한 내용은 위키 백과 문서를 참조하십시오.function post($post){
for($i = 0; $i < strlen($post); $i++)
if(is_numeric(substr($post, $i, 1))){
$j=$i;
if(is_numeric(substr($post, $i+2, 1)))$j++;
return substr($post, 0, $i).'|'.substr($post, 0, $j+1).'-'.substr($post, $j+1,1).'|'.substr($post, 0, $j+1).'-'.substr($post, $j+1);
}
}
은, 테스트, 편집
"dn | dn1-5 | dn1-58aa"출력 - "dn | dn15-8 | dn15-8aa"를 출력해야합니다. – verheesj
함수를 통해 다음 값을 보내면 dn151bc, b144aa, b11jl, l691dt 출력 : dn | dn1-5 | dn1-51bc, b | b1-4 | b1-44aa, b | b1-1 | b1- 1jl, l | l6-9 | l6-91dt dn | dn15-1 | dn15-1bc, b | b14-4 | b14-4aa, b | b1-1 | b1-1jl, l | l69-1 | l69-1dt 희망 사항 : – verheesj
영국 우편 번호를 처리하기위한 표준 정규식 코드가 있습니다.
완전히 포괄적 인 표현은 다음과 같습니다
(난 당신이$postcode_regex
라는 변수에 위의 코드를 삽입 한 가정합니다 간결) 다음과 같이 PHP에서 이것을 사용할 수 있습니다
(GIR 0AA)|(((A[BL]|B[ABDFHLNRSTX]?|C[ABFHMORTVW]|D[ADEGHLNTY]|E[HNX]?|F[KY]|G[LUY]?|H[ADGPRSUX]|I[GMPV]|JE|K[ATWY]|L[ADELNSU]?|M[EKL]?|N[EGNPRW]?|O[LX]|P[AEHLOR]|R[GHM]|S[AEGKLMNOPRSTY]?|T[ADFNQRSW]|UB|W[ADFNRSV]|YO|ZE)[1-9]?[0-9]|((E|N|NW|SE|SW|W)1|EC[1-4]|WC[12])[A-HJKMNPR-Y]|(SW|W)([2-9]|[1-9][0-9])|EC[1-9][0-9]) [0-9][ABD-HJLNP-UW-Z]{2})
:
$pc_is_valid = preg_match($postcode_regex, $input_string);
정확히 무엇을하고 싶은지에 따라 다른 preg_xxx()
함수를 사용해야하고 위의 문자열을 수정할 수도 있지만 더 자세한 정보가 없으면 명확한 조언을하기가 어렵습니다. 이 작업을해야 http://en.wikipedia.org/wiki/Postcodes_in_the_United_Kingdom
가 특정 분할에 대한 논리 무엇 작동? – deceze
@deceze 안녕하세요, 저는 우편 번호로 검색하여 정보를 다시 제공하는 온라인 위치 앱을 만들고 있습니다. – verheesj
uk postcode는 대개 하이픈으로 쓰여지지 않습니다. – Spudley