CakePhp: перегрузка дезинфекции
-
26-09-2019 - |
Вопрос
В недавней версии CakePhp 1.3.4 я обнаружил, что Sanitize :: HTML возвращает двойные закодированные HTML-объекты - из-за недавно добавленного четвертого параметра HTMLEntities «Double_encode».
Вот соответствующий билет на CakePhp: http://cakephp.lighthouseapp.com/projects/42648/tickets/1152-sanitizehtml-needs-double_encode-parameter-in-htmlentitititities.
Поскольку мне нужно использовать CakePhp 1.3.4 на PHP 5.2.14, мне необходимо изменить параметр Double_encode. Есть ли способ перегружать Sanitize :: HTML-метод в пироге, поэтому мне не нужно скриться с ядром?
Решение
Вы можете подкласс его в /app/libs
каталог:
App::import('Sanitize');
class MySanitize extends Sanitize {
public static function html(...) {
...
}
}
Вам придется перейти на использование MySanitize
вместо Sanitize
, но это не должно быть большой проблемой. Текст найден / замена может позаботиться об этом, если вы уже используете его много.