2012-11-18 6 views
5

입력 양식 배송지 주소 (번지, 도시,시 /도, 우편 번호 및 국가)가있는 HTML 양식이 있습니다. 이 양식은 PHP로 처리됩니다.PHP (또는 Perl)로 국가 별 배송 주소 형식 지정

이 주소를 대상 국가의 올바른 형식으로 변환하고 싶습니다. PHP에서이 변환을 수행하는 데 사용할 수있는 라이브러리 또는 외부 서비스가 있습니까? 그렇지 않다면 Perl이나 비슷한 언어로 할 수 있을까요?

답변

0

나는이 문제에 대해 생각해 보았고 각 국가별로 나열된 주소 템플릿이있는 파일/데이터베이스가 나에게 가장 적합한 솔루션이라고 판단했습니다.

그러나 주어진 다른 솔루션도 올바르게 작동합니다.

+0

좋은 방법입니다. –

1

Perl에서는 Class::Phrasebook을 사용할 수 있습니다. 그것을 사용하는 것은 매우 쉽습니다.

use Class::Phrasebook; 
my $pb = new Class::Phrasebook($log, "test.xml"); 
$pb->load("NL"); # using Dutch as the language 
$phrase = $pb->get("ADDRESS", 
        { street => "Chaim Levanon", 
        number => 88, 
        city => "Tel Aviv" }); 

배송지 주소가 동적 인 경우 (사용자가 제공함) 귀하가 더 많은 작업을해야합니다. XML 파일을 만들고 모든 국가의 사전을 추가하고 각 사전에 구 (번지, 도시,시 /도, 우편 번호)를 추가 할 수 있습니다. 영어 사전의 경우 "Street address : $ street", 프랑스어 사전의 경우 "adresse : $ street"등 각 구문에 국가 별 데이터를 씁니다. 그런 다음 사용자의 국가에 따라 사전에 액세스하십시오.

자세한 내용은 CPAN.

+0

@Eric이 주소 형식을 묻는 것 같습니다. 예를 들어, 독일어 주소는시 /도 앞에 우편 번호가 있고 영국 주소는 우편 번호를 넣습니다. 아일랜드 공화국은 우편 번호를 전혀 사용하지 않습니다. –

+0

젠장! 나는 그 질문을 오해했다. 포스트 코드 형식에 대한 정보를 제공해 주신 Richard 씨께 감사드립니다. –

+0

글쎄, 내가 잘못 생각한 것 같아. We 'll see :-) –

2

결코 사용하지 말고 Geo::PostalAddress을 사용하십시오. 도움이된다면 규정에 대한 유용한 링크.

다양한 운송 회사 (Fedex, DHL 등)는 주소 형식에 대해 자체 규칙을 가지고 있습니다.