在最近的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方法,所以我不必乱用核心?
答案 0 :(得分:2)
您可以在/app/libs
目录中对其进行子类化:
App::import('Sanitize');
class MySanitize extends Sanitize {
public static function html(...) {
...
}
}
您必须切换为使用MySanitize
而不是Sanitize
,但这不应该是一个大问题。如果您已经使用了很多文本查找/替换可以处理它。