Использую "preg_replace_callback()" для обработки детального текста статьи - нужно вместо специальных кодов подставить определенные значения, например, дату вместо кода "#DATE#". Потребовалось подключить свой класс для обработки некоторых значений, класс находится в модуле: "mymodule\classes". В обычном случае это делалось бы через "use":
use mymodule\classes;
И дальше можно работать с классом. Но внутри "preg_replace_callback()" нельзя использовать "use", а внешний "use" там не виден. Подскажите, как в этом случае можно использовать подключаемые классы?
Пример кода:
use mymodule\classes;
CModule::includeModule('mymodule.classes');
function pregText(&$text, $object) {
$text = preg_replace_callback(
[
"/#DATE#/is"
],
create_function('$matches', '
$func = $matches[0];
if (strpos($func, "DATE")) {
$result = \Classes\Date::toText($object["DATE_ACTIVE_TO"]);
}
return $result;
'),
$text
);
}