$subject = '0300020F005176C5A11A730004F955A2A20CD8-367C-EC5B-9D8C-2CAA0B8FE45D';
echo preg_replace('/^(\w{8})\w{2}/i','$1'.'08',$subject);
// 输出结果:85176C5A11A730004F955A2A20CD8-367C-EC5B-9D8C-2CAA0B8FE45D
// 期望结果:0300020F085176C5A11A730004F955A2A20CD8-367C-EC5B-9D8C-2CAA0B8FE45D
// 但是:preg_replace('regex','$1'.'__',$subject); 这样是没有问题的
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
引自PHP手册preg_replace函数对后向引用的描述:preg_replace
你的替换部分是“$108”,所以这里的需要将$1替换为${1}以免混淆.
这样,callback处理