使用preg_replace()
,
我想替换像这样的字符串......
aaabbbccc => aaa******
cccdddfff => ccc******
234456789 => 234******
12wcced => 12w*****
123cde => 123***
如何使用正则表达式preg_replace()
执行此操作?
答案 0 :(得分:7)
echo substr($string, 0, 3) . str_repeat('*', max(0, strlen($string) - 3));
不完全preg_replace
,但是......
答案 1 :(得分:2)
假设> = PHP 5.3
$str = 'abcdefg';
$str = preg_replace_callback('/^(.{3})(.*)$/', function($matches) {
return $matches[1] . str_repeat('*', strlen($matches[2]));
}, $str);
echo $str; // abc****
但是,使用Deceze's answer可以更好地实现像您的示例这样的字符串。