preg_replace("/%([^%]+)%/", "%_%$1@_@","%AAAAAA%=1, %BBBBBB%=2");

>>338 の方が俺には難しい