<?

//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){

if ((substr("$valor",-3,1) == ".") or (substr("$valor",-3,1) == ",")){
$casas = 2;
$virgula = substr("$valor",-3,1);
} 
elseif ((substr("$valor",-2,1) == ".") or (substr("$valor",-2,1) == ",")){
$casas = 1;
$virgula = substr("$valor",-2,1);
}
elseif ((substr("$valor",-1,1) == ".") or (substr("$valor",-1,1) == ".")){
$casas = 1;
$virgula = substr("$valor",-1,1);
}
elseif ( (substr("$valor",-3,1) == ".") or (substr("$valor",-3,1) == ",") )
{
$casas = 2;
}
//$virgula = substr("$valor",-3,1);
if($virgula=="."){

}
$valor = eregi_replace(',','.',$valor);
$valor = eregi_replace('[.\A-Z\-]','',$valor); 
if($casas==0){
$valor = $valor.".00";
$casas = 2;
}
elseif($casas==1){
$valor = substr("$valor",0,-1).".".substr("$valor",-1,1)."0";
$casas = 2;
}
elseif($casas==2){
$valor = substr("$valor",0,-2).".".substr("$valor",-2,2);
}
elseif($casas == 3) {
$valor = substr("$valor",0,-3).".".substr("$valor",-3,2);
}

$valor = number_format($valor,$casas,',','.');
return $valor;
}




//testes

$numero = "123456";
echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>";

$numero = "1234.56";
echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>";

$numero = "1234,56";
echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>";

$numero = "1.234,56";
echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>";

$numero = "1.234,56";
echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>";

$numero = "12345.6";
echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>";

$numero = "1.2.3.4.5.6";
echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>";

$numero = "12345.6";
echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>";

$numero = "123.456";
echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>";

$numero = "1.2BOZO34.56";
echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>";

$numero = "&lt;i&gt;1.2BOZO34.56&lt;/i&gt;";
echo "Numero digitado: <b>$numero</b> com formatação: <b>".Formata_Valor($numero)."</b><br>";


?>