Hoje me deparei com a necessidade de ter um banco de dados com todos os países do mundo :O … hehe depois de tanta pesquisa encontrei um arquivo SQL com uma lista de 239 países do mundo, porem os nomes dos países se encontrão em inglês (quem estiver interesse nessa lista em inglês pode conferir aqui).

Mas minha necessidade era maior, uma lista dos países em português, depois de passar a tarde inteira no google pesquisando pra ver se encontro alguma lista pronta, para terem idéia ate no eMule eu procurei hehe, decidir criar minha própria lista :D Uhuu.

Pegando lista de países

Pesquisando por ISO 3166-1 (norma que sugere códigos para nome de países.) encontrei essa pagina no Wikipédia para minha felicidade uma tabela com todos (será?) países em português, mas e agora jose? como eu irei inserir esses países em um banco de dados? criarei uma tabela no MySQL e inserir um a um na unha? se você quiser, fique a vontade, mas como eu sou muito preguiçoso prefiro ir por outro caminho…

O Caminho

Eu escolhi ir ao código fonte da pagina do Wikipédia e pegar o código fonte da tabela, fazer um script em PHP que trate esse código com uma expressão regular, retirar todos os dados necessários e criar uma consulta SQL para inserir esses dados na minha tabela da países.

O Codigo

Bom primeira mente analisei o código fonte da tabela que consegui no Wikipédia, notei que a tabela tem o seguinte formato.

tabela_paises.gif

pra minha felicidade é bem simples de tratar com uma Expressão Regular, então vamos lá…

Depois de ter colocado todo código fonte da tabela dentro de uma string

string.gif

retirei todos as quebras de linhas da string $content pra nossa vida ficar um pouco mais fácil…

quebra_linha.gif

agora vem a parte mais complicada pra mim, Expressões Regulares, não irei entrar em detalhes sobre ER porque eu não sou a pessoa mais indicada a falar sobre isso hehe… e se você é como eu e não entende nada de ER existe esse guia otimo na web escrito por Aurélio Marinho, agora vamos ao nosso script…

regex.gif

finalizando, crio um laço for pra dar um passeio pelas arrays e retornar um valor em SQL limpinho pra noix usa uai :)

sql_generetor.gif

Prontinho agora é só rodar nosso script é pronto :) já pode usar seu banco de dados de países!
qualquer duvida sobre o código ou sobre o entendimento do texto (afinal é um dos primeiros que escrevo, não sou muito bom nisso hehe) é só postar um comentário que eu tento dar uma luz! hehe

Codigo fonte do nosso script
Arquivo SQL com nosso banco de dados

See ya!