2012-11-18 7 views
5

Ho un form HTML che richiede un indirizzo di trasporto di ingresso in alcune parti (indirizzo, città, stato/provincia, codice postale e paese). Questo modulo viene quindi elaborato con PHP.Formattazione di un indirizzo di spedizione per paese in PHP (o Perl)

mi piacerebbe convertire questo indirizzo nel formato corretto per il paese di destinazione. Ci sono librerie o servizi esterni che potrei usare per fare questa conversione in PHP? In caso contrario, potrei farlo con Perl o con un linguaggio simile?

risposta

0

Ho pensato a questo problema e ho deciso che un file/database con i modelli di indirizzi elencati per ciascun paese è la soluzione migliore per me.

Tuttavia, sono certo che anche le altre soluzioni fornite funzionerebbero.

+0

Questo è un buon modo. –

1

In Perl è possibile utilizzare Class::Phrasebook. Usarlo è molto facile.

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" }); 

Ora nel tuo caso l'indirizzo di spedizione sarà dinamico (che verrà fornito dall'utente) quindi dovrete fare un po 'più di lavoro. È possibile creare un file XML, aggiungere dizionari per tutti i paesi, aggiungere frasi (indirizzo, città, stato/provincia, codice postale) in ciascun dizionario. Scrivi i dati specifici del paese in ciascuna frase come "Indirizzo: $ via" per il dizionario inglese, "indirizzo: $ via" per il dizionario francese, ecc. Quindi accedi al dizionario in base al Paese dell'utente.

Maggiori informazioni su CPAN.

+0

Penso @Eric sta chiedendo circa il formato di indirizzo. Ad esempio, gli indirizzi tedeschi hanno il codice postale prima della città/città, e gli indirizzi del Regno Unito lo mettono dopo. La Repubblica d'Irlanda non usa affatto i codici postali. –

+0

Dannazione! Ho frainteso la domanda. Grazie Richard per aver fornito informazioni sul formato del codice postale, non lo sapevo. –

+0

Beh, potrebbe essere che ho sbagliato idea. Vedremo :-) –

2

mai usato ma Geo::PostalAddress è un buon punto di partenza. Link utili ai regolamenti se non altro.

Si noti che varie compagnie di navigazione (Fedex, DHL ecc.) Hanno le proprie regole per il formato dell'indirizzo.

Problemi correlati