preg replace — постоянная preg_replace в строке переполнение стека

Я определил константу:

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);

0

Решение

Вам нужно захватить константу, используя группу захвата(), используйте его в обратном вызове и получите доступ к константе с именем строки, используя constant:

$result = preg_replace_callback("/{(.*?)}/",
function($m) {
return constant($m[1]);
}, $string);
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector