3

我有一个字符串,我想用“#”替换字符串的最后 7 个字符。例如,我有“MerryChristmasu87yujh7”,我想用七个“#######”替换“87yujh7”。因此,最后的字符串将是“MerryChristmasu#######”。

我尝试了以下代码,但它返回“MerryChristmasu#######1”。它不会转换所有七个结束字符。

$string = "MerryChristmasu87yujh7";
$match = substr($string, -7, -1);
$result = str_replace($match, "#######", $string);
4

2 回答 2

8

应该...

$match = substr($string, -7);

...没有最后的-1。但实际上,这样做要好得多...

$result = substr($string, 0, -7) . str_repeat('#', 7);

...或者,更通用的:

$coverWith = function($string, $char, $number) {
  return substr($string, 0, -$number) . str_repeat($char, $number);
};
于 2012-12-20T18:04:32.477 回答
1
$cuttedString = substr("your string", -7);

这应该可以完成这项工作。

于 2012-12-20T18:05:50.893 回答