php - 替换字符串的最后七个字符

标签 php

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

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

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

最佳答案

应该是……

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

关于php - 替换字符串的最后七个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13977920/

相关文章:

php - 如何将 "a href click"传递给 jquery

php - 无法设置背景图片

php - 拒绝使用 htaccess 直接访问文件

php - 查询列名带有空格的表?

php - 使用 php 为树莓派设置多个 cronjob

php - 在 PHP 中从 MySQL 数据库获取单个值

php - 修改php中的内容

php - 为复选框提供的参数无效

php - Laravel 5.3 Blade foreach 循环 : show data in loop from two different database eloquent queries

php - Woocommerce 设置运输方式,获取运费