Горбушка
Ищу её...
- Регистрация
- 2 Май 2008
- Сообщения
- 3.444
- Реакции
- 2.524
- Автор темы
- #1
Есть вот такой код... Он заменяет всякие {date=d.m.Y} на значение даты в бд.
Собственно, в 5.6 модификатор /e помечен как устаревший, а в 7.0 будет удалён.
В связи с решением перехода на 7.0 с её релизом, разработчику была поставлена задача обновить кусок кода. Не долго думая был написан вот такой говнокод, взятый с кучи форумов:
Как оказалось такой ***но код реально используют в продакшене... К примеру в ДЛЕ 10.5 это норма...
Посоветуйте как это сделать правильно?
PHP:
$text = preg_replace ( "#\{date=(.+?)\}#ie", "langdate('\\1', '{$row['date']}')", $text );
В связи с решением перехода на 7.0 с её релизом, разработчику была поставлена задача обновить кусок кода. Не долго думая был написан вот такой говнокод, взятый с кучи форумов:
PHP:
function formdate( $matches=array() ) {
global $temp_formdate_date;
return langdate($matches[1], $temp_formdate_date, false);
}
$temp_formdate_date = $row['date'];
$text =preg_replace_callback ( "#\{date=(.+?)\}#i", "formdate", $text);
Как оказалось такой ***но код реально используют в продакшене... К примеру в ДЛЕ 10.5 это норма...
Посоветуйте как это сделать правильно?