$str = preg_replace ( "/\{php\s+(.+)\}/", "<?php \\1?>", $str );
上面的正则因为下面的换行符不一样.导致匹配的范围都不一样
剪头处是换行标志.红框是此时匹配范围,可以看到明白的不同,所以我看到phpcms的}结束符跑到})这行(36行)去觉得奇怪,一查才知.
$str = preg_replace ( "/\{php\s+(.+)\}/", "<?php \\1?>", $str );
上面的正则因为下面的换行符不一样.导致匹配的范围都不一样
剪头处是换行标志.红框是此时匹配范围,可以看到明白的不同,所以我看到phpcms的}结束符跑到})这行(36行)去觉得奇怪,一查才知.