Php 如何阻止htmlPurifier自动解码html实体?

Php 如何阻止htmlPurifier自动解码html实体?,php,html,htmlpurifier,Php,Html,Htmlpurifier,我有一个奇怪的问题。我使用CKEditor-4以html的形式从用户处收集格式化文本。此外,还使用服务器上的htmlpurifier过滤html内容 当用户使用诸如“,”和“CKEditor将它们转换为html实体,如、和,这很好。问题是,当我使用htmlpurifier对它们进行过滤时,这些引号会自动解码。这会阻止内容:呈现给用户以供日后编辑,因为引号实际上是用s编码的悲剧的方式,比如 我想,如果我能阻止htmlpurifier自动解码的话,这是可行的,但我对htmlpurifier还不熟悉,

我有一个奇怪的问题。我使用CKEditor-4以html的形式从用户处收集格式化文本。此外,还使用服务器上的htmlpurifier过滤html内容

当用户使用诸如
CKEditor将它们转换为html实体,如
,这很好。问题是,当我使用htmlpurifier对它们进行过滤时,这些引号会自动解码。这会阻止内容:呈现给用户以供日后编辑,因为引号实际上是用s编码的悲剧的方式,比如

我想,如果我能阻止htmlpurifier自动解码的话,这是可行的,但我对htmlpurifier还不熟悉,所以我找不到办法


在将其传递给htmlpurifier之前,我尝试过使用
htmlentities
。但它会对整个html进行编码,因此:阻止htmlpurifier净化html。

在CBroe的评论之后,我发现我的应用程序并没有一直使用UTF-8

我也不能纠正它。对于那些处于类似情况的人,我找到了一个解决办法。htmlPurifier确实支持一种配置,可以对所有非ASCII字符进行编码,但有一些折衷——我认为这与我的情况没什么关系

您可以像这样启用htmlpurifier配置
Core.escapeNoNasciCharacters

$config->set('Core.escapeNoNassicCharacters',true);

这对我来说是个窍门。

的UTF-8表示,但被解释为ISO-8859-1或类似的东西。你的网站/应用程序不是一直都在使用UTF-8吗?你是什么意思?我对编码的东西知之甚少。我使用meta charset=“UTF-8”.这就是你的意思吗?这只是问题的一小部分。很高兴你能解决这个问题-谢谢你分享你的解决方案。如果你还不知道,你应该知道你可以在两天内接受自己的答案,把这个问题标记为已解决:)啊,我明白了。谢谢