//Desenvolvido por BOZO; BOZO@GAMBIARRA.COM.BR
//Função para formatar valores
//Valor digitado vai ser transformado em 1.234,56
//independente do valor digitado
//Insere a casa decimal caso seja digitado .(ponto) ou , (virgula) no terceiro digito da direira para a esquerda
//Se inserido alguma tag HTML retorna 0
Function Formata_Valor($valor){
$virgula = substr("$valor",-3,1);
if(($virgula==".") or ($virgula==",")){
$casas = 2;
}
$valor = eregi_replace(',','.',$valor);
$valor = eregi_replace('[.\A-Z\-]','',$valor);
if($casas==2){
$valor = substr("$valor",0,-2).".".substr("$valor",-2,2);
}
$valor = number_format($valor,$casas,',','.');
return $valor;
}
//testes
$numero = "123456";
echo "Numero digitado: $numero, com formatação: ".Formata_Valor($numero)."
";
$numero = "1234.56";
echo "Numero digitado: $numero, com formatação: ".Formata_Valor($numero)."
";
$numero = "1234,56";
echo "Numero digitado: $numero, com formatação: ".Formata_Valor($numero)."
";
$numero = "1.234,56";
echo "Numero digitado: $numero, com formatação: ".Formata_Valor($numero)."
";
$numero = "1.234.56";
echo "Numero digitado: $numero, com formatação: ".Formata_Valor($numero)."
";
$numero = "1.2.3.4.5.6";
echo "Numero digitado: $numero, com formatação: ".Formata_Valor($numero)."
";
$numero = "1.2BOZO34.56";
echo "Numero digitado: $numero, com formatação: ".Formata_Valor($numero)."
";
$numero = "<i>1.2BOZO34.56</i>";
echo "Numero digitado: $numero, com formatação: ".Formata_Valor($numero)."
";
?>