ortlieb
(usa Nenhuma)
Enviado em 18/11/2010 - 19:58h
O script do Engos para reparar endereços, funciona muito bem.
Fiz uma implementação para usar no MySQL com INSERT e UPDATE:
<?php
function End_Repair($endereco, $cur = '') {
$array = array($endereco);
$search = array(',');
$replace = '';
for ($i = 0; $i < 1; $i++) {
$end = "";
$num = "";
$comp = "";
for ($count = 0; $count < strlen($array[$i]); $count++) {
if (is_numeric($array[$i][$count]) && empty ($end))
$end = substr($array[$i], 0, $count);
if (!is_numeric($array[$i][$count]) && !empty ($end)) {
$num = substr($array[$i], strlen($end), ($count - strlen($end)));
if (strlen($array[$i]) > (strlen($end) + strlen($num)))
$comp = substr($array[$i], $count);
switch ($cur) {
case "end":
return str_replace($search, $replace, $end);
break;
case "num":
return $num;
break;
case "comp":
return $comp;
break;
}
break;
}
else
if (strlen($array[$i]) == ($count + 1)) {
$num = substr($array[$i], strlen($end));
switch ($cur) {
case "end":
return str_replace($search, $replace, $end);
break;
case "num":
return $num;
break;
case "comp":
return $comp;
break;
}
}
}
}
}
echo "End.: " . End_Repair("AV DAS AMERICAS, 2434 AP 8 BL C-5, grupo 520", "end") . "<br />";
echo "Num.: " . End_Repair("AV DAS AMERICAS, 2434 AP 8 BL C-5, grupo 520", "num") . "<br />";
echo "Comp.: " . End_Repair("AV DAS AMERICAS, 2434 AP 8 BL C-5, grupo 520", "comp") . "<br /><br />";
echo "End.: " . End_Repair("Av Eng. Januário A. Santos 300", "end") . "<br />";
echo "Num.: " . End_Repair("Av Eng. Januário A. Santos 300", "num") . "<br />";
echo "Comp.: " . End_Repair("Av Eng. Januário A. Santos 300", "comp") . "<br /><br />";
echo "End.: " . End_Repair("PRAIA DO FLAMENGO, 154 1º ANDAR - PARTE", "end") . "<br />";
echo "Num.: " . End_Repair("PRAIA DO FLAMENGO, 154 1º ANDAR - PARTE", "num") . "<br />";
echo "Comp.: " . End_Repair("PRAIA DO FLAMENGO, 154 1º ANDAR - PARTE", "comp") . "<br /><br />";
?>