HTMLPurifier конвертирует & фунт; обратно в £

У меня проблема с 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);

First I was simply passing the £ symbol, which seem to be ignored and wasn't converted to £ so I've decided to run str_replace() before passing the $string to the purifier, but this was converting it back to £ symbol - so I'm really lost here and would appreciate some help if anyone knows what configuration setting might change that behaviour.

Теперь я запускаю str_replace() после очистки, но должен быть лучший способ.

0
nl ja de

1 ответы

Это по дизайну; канонизация, которая здесь возникает, помогает очистителю HTML избежать определенных типов ошибок XSS. http://htmlpurifier.org/docs/enduser-utf8.html стоит прочитать ,

0
добавлено