Как мне разрешить изображения в HTMLPurifier? - PullRequest
0 голосов
/ 01 октября 2010

Я хочу разрешить изображения в моем фильтре HTML Purifier.К сожалению, они все еще фильтруются.Что не так с этим кодом?

$config->set('HTML.Doctype', 'XHTML 1.0 Transitional');
$config->set('URI.DisableExternalResources', false);
$config->set('URI.DisableResources', false);
$config->set('HTML.Allowed', 'u,p,b,i,span[style],p,strong,em,li,ul,ol,div[align],br,img');

Спасибо за вашу помощь.

Ответы [ 4 ]

2 голосов
/ 12 июня 2014

добавление этой строки кода к вашей должно решить проблему:

$config->set('HTML.AllowedAttributes', 'src, height, width, alt');
2 голосов
/ 01 октября 2010

Вам необходимо разрешить атрибуты src и alt. HTML Purifier, вероятно, должен предупредить вас, если вы не можете разрешить обязательный атрибут для элемента /

0 голосов
/ 05 февраля 2018

Чтобы принять b64 изображения, вы должны добавить новую URIScheme:

 if(!class_exists("HTMLPurifier_URIScheme_data")){
        class HTMLPurifier_URIScheme_data extends HTMLPurifier_URIScheme {

            public $default_port = null;
            public $browsable = false;
            public $hierarchical = true;

            public function validate(&$uri, $config, $context) {
                return true;
            }

        }
    }

HTMLPurifier_URISchemeRegistry::instance()->register("data", new HTMLPurifier_URIScheme_data());

Источник: http://htmlpurifier.org/phorum/read.php?3,4316,4318,quote=1

"Ник", парень, который сделал этот код, сказал, что должен установить:

$browsable = true;
$hierarchical = false;

Но в моем случае я не сделал.

0 голосов
/ 30 октября 2017

Поиск по очистителю HTML http:// или https:// после src=", который может отсутствовать при публикации данных (inline src = "data: image / png; base64, ....) или вашей ссылки. Надеюсь, это сработает для тебя тоже, как и для меня.

...