Вопрос

В недавней версии 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, но это не должно быть большой проблемой. Текст найден / замена может позаботиться об этом, если вы уже используете его много.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top