@photosho

Как использовать класс внутри «preg_replace_callback»?

Использую "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
	);
}
  • Вопрос задан
  • 41 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы