我遇到了 HTMLPurifier 的问题,它似乎正在转换
£
回到
£
我目前的配置是:
$config = \HTMLPurifier_Config::createDefault();
$config->set('HTML.Doctype', 'XHTML 1.0 Transitional');
$config->set('Core.Encoding', 'UTF-8');
$config->set('Attr.AllowedFrameTargets', array('_blank'));
$config->set('HTML.Trusted', true);
$config->set('CSS.Trusted', true);
$config->set('Attr.EnableID', true);
$def = $config->getHTMLDefinition(true);
$def->addAttribute('a', 'href*', 'URI');
$def->addAttribute('a', 'rel', 'CDATA');
$objPurifier = new HTMLPurifier($config);
$string = $objPurifier->purify($string);
首先我只是简单地传递了 £ 符号,它似乎被忽略并且没有被转换为£
所以我决定在将 $string 传递给净化器之前运行 str_replace() ,但这会将它转换回 £ 符号 - 所以我真的迷路了,如果有人知道什么配置设置可能会改变这种行为,我将不胜感激。
我现在在净化后运行 str_replace() ,但必须有更好的方法。