функция даты обратной ссылки preg_replace - PullRequest
0 голосов
/ 13 января 2012

PHP 5.2.15

Я пытаюсь заменить {date [F]} на функцию даты.

У меня есть шаблон, который прекрасно работает.

preg_replace('/({date\[(.*?)\]})/', date(${2}), $subject);

Я пробовал preg_replace_callback, но, похоже, он не работает, даже когда я использую create_function ()

Я получаю в основном неопределенные ошибки в моих опробованных методах.

1 Ответ

1 голос
/ 13 января 2012

Вам нужен модификатор /e .И выражение замены должно быть строкой:

= preg_replace('/(\{date\[(.*?)\]})/e', 'date("$2")', $subject);

Обратите внимание, что вы также забыли экранировать первую { фигурную скобку.

См. Примеры для preg_replace.# 105490 .Или как preg_replace_callback обратные вызовы должны распаковать параметр match (который звучит как ваша первоначальная проблема).

...