Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/03/2014, 09:37
Avatar de master206
master206
 
Fecha de Ingreso: enero-2011
Mensajes: 4
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Enmascarar rut con php

Hola amigos tengo un problema, debo enmascarar con xxx todos los rut que aparezcan en una cadena, pero me encotre con un pequeño problema, el código que uso solo enmascara el primer rut que encuentre en la cadena, los demás que puedan estar después de ese rut ya no los enmascara, favor de ayudarme :(

el código es este:

Código PHP:
$cadena "Prueba para RUT 16.546.044-0 numero 124 con otro RUT 16.556.044-k, tambien el 16558044-0 o el RUT 16,586,044-0 y el RUT 16,556,044-5";

$patron"/\d{0,3}.{0,1}\d{0,3}.{0,1}\d{1,3}-[0-9kK]?/";
$resultado=preg_match($patron$cadena$tmp)==true?str_replace("$tmp[0]","xx.xxx.xxx-x",$cadena):$cadena;
echo 
$resultado
Si se fijan algunos rut están con puntos, otros con coma y otros solo con dígito verificador

y el resultado que me arroja es este:

Prueba para RUT xx.xxx.xxx-x numero 124 con otro RUT 16.556.044-k, tambien el 16556044-0 o el RUT 16,556,044-0 y el RUT 16,556,044-5