使用preg_replace(),我想要替换这样的字符串... aaabbbccc => aaa****** cccdddfff => ccc****** 234456789 => 234****** 12wcced => 12w***** 123cde => 123*** 我该如何使用正则表达式和 preg_replace() 来实现这个功能呢?
假设使用 PHP 5.3 或以上版本。$str = 'abcdefg'; $str = preg_replace_callback('/^(.{3})(.*)$/', function($matches) { return $matches[1] . str_repeat('*', strlen($matches[2])); }, $str); echo $str; // abc**** CodePad。 不过,仅针对像您的示例这样的字符串执行此操作可以通过使用Deceze的答案更好地实现。