- preg_replace: documentation ( source)
<?php
$str = '{code}var a = 1;{code} then, {noformat}a = 5;{noformat} and, {code}a -= 4;{code}';
$codePatterns = [
'/{code}(.*?){code}/',
'/{noformat}(.*?){noformat}/'
];
echo preg_replace($codePatterns, '<code>$1</code>', $str);