时间:2021-07-01 10:21:17 帮助过:22人阅读
$aa=preg_replace('/^(a)123(b)$/ie','"$1".$ih."$2"',$aa);
preg_replace('/^(a)*(b)$/i','$1'.$ih.'$2',$aa);
$ih=500;$aa='a123b';$aa=preg_replace('/^(a)123(b)$/i','${1}'.$ih.'${2}',$aa);print_r($aa);
'$1'.$ih.'$2'
'$1'.‘100’.'$2'$1100$2
修改规则 '$1'.$ih.'$2'
实际传递给 preg_replace 的是 ‘$1100$2'
于是 $1 和 $11 就产生了歧义
所以需要人工将其区别开来 ‘${1}100$2'
按你的格式就是 '${1}'.$ih.'$2'
注意:不能使用双引号
都回答的很好,可惜分不多。早知道早点来这问了,郁闷了一整天。