PHP用符号替换所有字符

时间:2018-06-01 08:38:23

标签: php

我正在尝试使用已修改的密码创建一个帐户生成器,我不想用10 *替换所有字符。我希望它是这样的: 如果密码长度为15个字符,则将替换为15 *。我试着用这个:

$censpass = preg_replace('/[a-zA-Z0-9\']/', '*', $accounts[$i]['password']);

但是你可能知道,这不适用于!如何在PHP中将preg_replace与每个字符一起使用? 如果有人不明白:
我想要这个:“password123!”
用这个代替:“************”,使用preg_replace准确的长度 如果这存在于其他地方,请在下面链接,我试图找到这个,但我只能找到如何更换一些字符,如数字只有
谢谢:))

1 个答案:

答案 0 :(得分:2)

为了您的目标,我会使用不同的方法,例如:

$encpass = str_pad('', strlen($accounts[$i]['password']), '*');

实际上,没有必要使用正则表达式(速度慢且占用资源)只是为了生成与另一个字符串长度相同的字符串。

无论如何,如果您仍想使用您的解决方案,那么您的用例的正确正则表达式只是.,例如:

$censpass = preg_replace('/./', '*', $accounts[$i]['password']);

看看这里:http://php.net/manual/en/regexp.reference.dot.php