PHP は、...?> タグ以外のコードなど、一致しない項目
を正規化します。たとえば、中括弧を追加します。
要件は次のコードを処理することです:
aaa...?>bbb...?>ccc
は次のように処理する必要があります:
{ aaa}...?>{bbb}...?>{ccc}
...?> の間にある内容に注意してください。 ?...? > 以外の内容は未確定です。
そして私たちが対処する必要があるのは、外にあるものです。 aaa、bbb、ccc のようなものです。
-----解決策--------------------------------
$a = array('/ (.)/','/?>(.)/');
$b = array('$1}','? >{$1');
echo $c = preg_replace($a,$b,'{'.$str.'}');
自分でテストしてください
------解決策----------------------
$s = "aaa... ? >bbb...?>ccc";
echo preg_replace("/(^|?>)(.+)(|$)/iU", "\1{\ 2 }\3", $s);
{aaa}...?>{bbb}...?>{ccc}