如何模糊textarea字段中的数字

时间:2010-10-30 07:42:35

标签: php regex cakephp preg-replace

我使用了cakephp,我想隐藏超过六位数的所有数字。

类似这样的事情

 $string = "My id number is 77765444 in Sales dept.";

 becomes 

 $string = "My id number is XXXXXXXX in Sales dept." 

我感谢任何帮助。

感谢。

2 个答案:

答案 0 :(得分:5)

使用preg_replace_callbackanonymous function

尝试此操作
$string = preg_replace_callback('/\d{6,}/', function($match) { return str_repeat('X', strlen($match[0])); }, $string);

匿名函数用于将每个出现的六个或更多连续数字替换为相同数量的X。如果您的PHP版本不支持匿名函数(自5.3起可用),请使用普通函数。

答案 1 :(得分:1)

$string = preg_replace('/\d/', 'X', "My id number is 77765444 in Sales dept.");