Я определил константу:
defined('site_name') OR define('site_name', 'Ses');
Как я могу заменить переменные в строке константами?
defined('site_name') OR define('site_name', 'Ses');
$string = 'Some string with {site_name} constant';
$result = preg_replace("/{.*?}/", CONSTANT, $string);
Вам нужно захватить константу, используя группу захвата()
, используйте его в обратном вызове и получите доступ к константе с именем строки, используя constant
:
$result = preg_replace_callback("/{(.*?)}/",
function($m) {
return constant($m[1]);
}, $string);
Других решений пока нет …