gpt4 book ai didi

php - 用随机字符替换字符串中的每个数字

转载 作者:行者123 更新时间:2023-12-04 12:48:03 24 4
gpt4 key购买 nike

我想用另一个随机字符替换像 ABC123EFG 这样的字符串中的每个数字。
我的想法是生成一个随机字符串,其中包含 $str 中所有数字的数量,并用 $array[count_of_the_digit] 替换每个数字,有没有办法做到这一点而不用一个 for 循环,例如使用正则表达式?

$count = preg_match_all('/[0-9]/', $str);
$randString = substr(str_shuffle(str_repeat("abcdefghijklmnopqrstuvwxyz", $count)), 0, $count);
$randString = str_split($randString);
$str = preg_replace('/[0-9]+/', $randString[${n}], $str); // Kinda like this (obviously doesnt work)

最佳答案

你可以使用preg_replace_callback()

$str = 'ABC123EFG';

echo preg_replace_callback('/\d/', function(){
return chr(mt_rand(97, 122));
}, $str);

它会输出如下内容:

ABCcbrEFG

如果您想要大写值,您可以将 97122 更改为它们的 ASCII 等价物,将 64 更改为 90.

关于php - 用随机字符替换字符串中的每个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42816112/

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