HTMLPurifier Ломает изображения
Я пытаюсь запустить HTMLPurifier при вводе пользователем из WYSIWYG (редактор CK), и изображения ломаются.
Нефильтрованный ввод:
<img alt="laugh" src="/lib/ckeditor/plugins/smiley/images/teeth_smile.gif" title="laugh">
После запуска через очиститель с настройками по умолчанию:
<img alt=""laugh"" src="%5C" title=""laugh"">
Я пытался изменить параметры конфигурации; но я никогда не сохранял src. Есть какие-нибудь мысли?
4 answers
У меня есть подозрение, что magic_quotes может быть причиной..?
Также вы пробовали $config->set('Core.RemoveInvalidImg',true);
. Какую версию вы используете? (Попробуйте старые или новые)
Была та же проблема. Это исправило это
if (get_magic_quotes_gpc()) {
function stripslashes_gpc(&$value)
{
$value = stripslashes($value);
}
array_walk_recursive($_GET, 'stripslashes_gpc');
array_walk_recursive($_POST, 'stripslashes_gpc');
array_walk_recursive($_COOKIE, 'stripslashes_gpc');
array_walk_recursive($_REQUEST, 'stripslashes_gpc');
}
Я не знаю, что такое htmlpurifier, но тег img, который у вас есть, совершенно законен (за исключением того, что он не закрыт) перед его запуском. После того, как вы запустите его, он вдвойне убегает от вещей, и это просто кажется мусором. %5C - это код URL-адреса для обратной косой черты. Похоже, что он пытается избежать прямой косой черты с помощью обратной косой черты, а затем задыхается. Что это за программа? Могу ли я порекомендовать HTML Аккуратный?
Возвращаясь к старому сообщению, я подумал, что этот небольшой фрагмент может помочь другим, оказавшимся здесь..
Я исправил множество необычных действий в своем коде, связанных с экранированием символов, добавив эту строку в свой файл .htaccess
php_flag magic_quotes_gpc Off
Из документации PHP "Эта функция УСТАРЕЛА с PHP 5.3.0 и УДАЛЕНА с PHP 5.4.0" http://www.php.net/manual/en/security.magicquotes.what.php
Кроме того, есть и другие способы отключить магию цитаты http://www.php.net/manual/en/security.magicquotes.disabling.php