【问题标题】:replace last seven characters of string替换字符串的最后七个字符
【发布时间】:2012-12-20 18:02:51
【问题描述】:

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

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

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

【问题讨论】:

    标签: php


    【解决方案1】:

    应该是……

    $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);
    };
    

    【讨论】:

      【解决方案2】:
      $cuttedString = substr("your string", -7);
      

      这应该可以完成工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-01
        • 2014-02-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多