Cita:
Iniciado por exorton
Gracias juan_benitez, al final utilice este sitema ya que el numero verificador (en chile) solo contiene un caracter de 0 a 9 y K cuando es 11 (cero es 10). y solo cambia el costado izq del numero pudiendo ser x.xxx.xxx-k o xx.xxx.xxx.-k. como dice huesos52, de esta forma contengo ambos sin tener que crear un campo con el rut escrito.
Código PHP:
<?php
function formateo_rut($rut_param){
$parte4 = substr($rut_param, -1); // seria solo el numero verificador
$parte3 = substr($rut_param, -4,3); // la cuenta va de derecha a izq
$parte2 = substr($rut_param, -7,3);
$parte1 = substr($rut_param, 0,-8); //de esta manera toma todos los caracteres desde el 8 hacia la izq
return $parte1.".".$parte2.".".$parte3."-".$parte4;
}
y funciona tanto para los xx.xxx.xxx-k y los x.xxx.xxx-k
EXORTON...probe tu script.. asi..
Código PHP:
<?php
function formateo_rut($rut_param){
$parte4 = substr($rut_param, -1); // seria solo el numero verificador
$parte3 = substr($rut_param, -4,3); // la cuenta va de derecha a izq
$parte2 = substr($rut_param, -7,3);
$parte1 = substr($rut_param, 0,-8); //de esta manera toma todos los caracteres desde el 8 hacia la izq
return $parte1.".".$parte2.".".$parte3."-".$parte4;
}
$rut = "12345763";
echo formateo_rut($rut) . "<br>";
$rut = "112345763";
echo formateo_rut($rut);
?>
pero como veran...... se come siempre el primer digito...... la solucion fue simplemente
Código PHP:
$parte1 = substr($rut_param, 0,-7);
exitos y gracias a todos !!!!