<?php
//Problema al guardar valores decimales (cifras monetarias ) en una base de datos mysql
// http://es.stackoverflow.com/q/41516/127
function eliminar_puntos_tres_digitos($valor){
return preg_replace('/(\d)\.(?=\d{3}(?!\d))/', '$1', $valor); }
// ---- Datos de prueba
$datosPrueba = ['123.00', '123.0001', '123.456', '123.456.789',
'123.', '.123', '123.456.7', '123.456.789.1'];
foreach ($datosPrueba as $valor) {
$procesado = eliminar_puntos_tres_digitos($valor);
echo "\nOriginal: $valor \tResultado: $procesado";
}
PD9waHAgIAovL1Byb2JsZW1hIGFsIGd1YXJkYXIgdmFsb3JlcyBkZWNpbWFsZXMgKGNpZnJhcyBtb25ldGFyaWFzICkgZW4gdW5hIGJhc2UgZGUgZGF0b3MgbXlzcWwKLy8gaHR0cDovL2VzLnN0YWNrb3ZlcmZsb3cuY29tL3EvNDE1MTYvMTI3CgoKZnVuY3Rpb24gZWxpbWluYXJfcHVudG9zX3RyZXNfZGlnaXRvcygkdmFsb3IpewoJcmV0dXJuIHByZWdfcmVwbGFjZSgnLyhcZClcLig/PVxkezN9KD8hXGQpKS8nLCAnJDEnLCAkdmFsb3IpOwp9CgoKCi8vIC0tLS0gRGF0b3MgZGUgcHJ1ZWJhCgokZGF0b3NQcnVlYmEgPSBbJzEyMy4wMCcsICcxMjMuMDAwMScsICcxMjMuNDU2JywgJzEyMy40NTYuNzg5JywgCgkJCQknMTIzLicsICcuMTIzJywgJzEyMy40NTYuNycsICcxMjMuNDU2Ljc4OS4xJ107Cgpmb3JlYWNoICgkZGF0b3NQcnVlYmEgYXMgJHZhbG9yKSB7CgkkcHJvY2VzYWRvID0gZWxpbWluYXJfcHVudG9zX3RyZXNfZGlnaXRvcygkdmFsb3IpOwoJCgllY2hvICJcbk9yaWdpbmFsOiAkdmFsb3IgXHRSZXN1bHRhZG86ICRwcm9jZXNhZG8iOwp9