Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Esse é o código:
script language="JavaScript" src="http://j.maxmind.com/app/geoip.js"></script>
<script>
variaveljs = geoip_region_name();
</script>
<?php
function normalize ($string) {
$a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕ';
$b = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr';
$string = utf8_decode($string);
$string = strtr($string, utf8_decode($a), $b);
$string = strtolower($string);
return utf8_encode($string);
}
//$record = geoip_record_by_name($ip);
$var = "<script>document.write(variaveljs)</script>";
//$region = strtoupper(geoip_region_name_by_code('BR', $record['region']));
$region = normalize($var);
function getUf($region){
switch ($region) {
case 'Acre': return 'AC'; break;
case 'Alagoas': return 'AL'; break;
case 'Amapa': return 'AP'; break;
case 'Amazonas': return 'AM'; break;
case 'Bahia': return 'BA'; break;
case 'Ceara': return 'CE'; break;
case 'Distrito Federal': return 'DF'; break;
case 'Espirito Santo': return 'ES'; break;
case 'Goias': return 'GO'; break;
case 'Maranhao': return 'MA'; break;
case 'Mato Grosso': return 'MT'; break;
case 'Mato Grosso do Sul': return 'MS'; break;
case 'Minas Gerais': return 'MG'; break;
case 'Para': return 'PA'; break;
case 'Paraiba': return 'PB'; break;
case 'Parana': return 'PR'; break;
case 'Pernambuco': return 'PE'; break;
case 'Piaui': return 'PI'; break;
case 'Rio de Janeiro': return 'RJ'; break;
case 'Rio Grande do Norte': return 'RN'; break;
case 'Rio Grande do Sul': return 'RS'; break;
case 'Rondonia': return 'RO'; break;
case 'Roraima': return 'RR'; break;
case 'Santa Catarina': return 'SC'; break;
case 'Sao Paulo': return 'SP'; break;
case 'Sergipe': return 'SE'; break;
case 'Tocantins': return 'TO'; break;
default: return 'ACRE'; break;
}
}
echo getUf($region);
o problema dele é o seguinte. Quando eu dou echo no $region (Como sou de São Paulo) aparece "Sao Paulo" (Depois de ter utilizado a função de tirar os acentos).
Mas quando dou echo no getUf($region) aparece o return do Default que é ACRE.... Sendo que está tudo certo sem acento, sem espaço... Enfim, o que fazer?
Carregando comentários...