cakePHP:重载Sanitize

时间:2010-09-29 07:13:29

标签: cakephp cakephp-1.3 sanitize html-entities

在最近的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-htmlentities

由于我需要在PHP 5.2.14上使用cakePHP 1.3.4,我需要更改double_encode参数。有没有办法在蛋糕中重载Sanitize :: html方法,所以我不必乱用核心?

1 个答案:

答案 0 :(得分:2)

您可以在/app/libs目录中对其进行子类化:

App::import('Sanitize');

class MySanitize extends Sanitize {

    public static function html(...) {
        ...
    }

}

您必须切换为使用MySanitize而不是Sanitize,但这不应该是一个大问题。如果您已经使用了很多文本查找/替换可以处理它。