<?php
function dumpParameter($r){
return 'PAR'.$r.'AM';
}
function t($value){
if (preg_match('/^%([^%]+)%$/', $value, $match)) {
// we do this to deal with non string values (Boolean, integer, ...)
// the preg_replace_callback converts them to strings
return dumpParameter(strtolower($match[1]));
} else {
$replaceParameters = function ($match){
return "'.".dumpParameter(strtolower($match[2])).".'";
};
$code = str_replace('%%', '%', preg_replace_callback('/(?<!%)(%)([^%]+)\1/', $replaceParameters, var_export($value, true)));
return $code;
}
}
echo t('d%dre');