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