gpt4 book ai didi

php - 警告 : preg_replace() [function. preg-replace]:编译失败:在偏移量 1 处没有可重复的内容

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:06:10 25 4
gpt4 key购买 nike

有人可以帮助调试这个错误吗?

Warning: preg_replace() [function.preg-replace]: Compilation failed: nothing to repeat at offset 1

//Generate uid
function gen_uid($len=40) {
$hex = md5("what" . uniqid("", true));
$pack = pack('H*', $hex);
$tmp = base64_encode($pack);
$uid = preg_replace("#(*UTF8)[^A-Za-z0-9]#", "", $tmp);
$len = max(4, min(128, $len));
while (strlen($uid) < $len)
$uid .= gen_uid(22);
return substr($uid, 0, $len);
}

这是什么原因造成的?是 PHP 问题还是其他问题?该应用程序在我的本地计算机上运行良好,但在服务器上运行不正常。

最佳答案

正则表达式中的

*表示匹配前一个字符0次或多次,而(开始一个捕获组。所以,*有无需重复,因为 * 之前的是 (,它不能自行重复,因此出现此警告。

要修复它,只需转义 *,如下所示:

$uid = preg_replace("#(\*UTF8)[^A-Za-z0-9]#", "", $tmp);

关于php - 警告 : preg_replace() [function. preg-replace]:编译失败:在偏移量 1 处没有可重复的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12266372/

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