gpt4 book ai didi

php正则表达式用星号替换每个字符

转载 作者:行者123 更新时间:2023-12-02 04:12:19 25 4
gpt4 key购买 nike

我正在尝试这样的事情。

隐藏除前 3 个字符之外的用户。

前)

  • 苹果 -> 应用**
  • 谷歌 -> 咕***
  • abc12345 ->abc*****

我目前使用的 php 是这样的:

$string = "abcd1234";
$regex = '/(?<=^(.{3}))(.*)$/';
$replacement = '*';
$changed = preg_replace($regex,$replacement,$string);
echo $changed;

结果如下:

abc*

但我想替换除前 3 个字符之外的每个字符 - 例如:

abc*****

我该怎么办?

最佳答案

不要使用正则表达式,使用substr_replace :

$var = "abcdef";
$charToKeep = 3;
echo strlen($var) > $charToKeep ? substr_replace($var, str_repeat ( '*' , strlen($var) - $charToKeep), $charToKeep) : $var;

请记住,正则表达式非常适合匹配字符串中的模式,但是很多已经为字符串操作设计了函数。

将输出:

abc***

关于php正则表达式用星号替换每个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35911529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com