Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/03/2014, 06:20
Avatar de master206
master206
 
Fecha de Ingreso: enero-2011
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Enmascarar rut con php

Cita:
Iniciado por Eleazan Ver Mensaje
¿Has probado a mirar en la documentación que hace preg_match?

Segun la doc [url]http://es1.php.net/preg_match:[/url]
"Busca en subject una coincidencia con la expresión regular dada en pattern"

necesitas usar esta [URL="http://es1.php.net/preg_match_all"]preg_match_all [/URL];)

Gracias amigo por tu respuesta, claro había intentado lo que me indicas, el código lo deje así:

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_all($patron, $cadena, $tmp)==true?str_replace("$tmp[0]","xx.xxx.xxx-x",$cadena):$cadena; 
echo 
$resultado; 
dejándolo con preg_match_all pero no me funciono, el resultado que devolvió fue toda la cadena sin ninguna mascara, osea así:

Prueba para RUT 16.556.044-0 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

no se que pueda ser :(