2015-08-18 6 views
0

Я хочу добавить новый разрешенный attribute в HTMLPurifiers whitelist, не переопределяйте весь белый список, просто добавьте новый разрешенный в определенный тег.Добавление нового атрибута в белый список HtmlPurifiers?

Это мой текущий массив конфигурации:

'posts' => [ 
    'HTML.SafeIframe' => true, 
    'URI.SafeIframeRegexp' => '%^https://www.youtube.com/embed/%', 
    'HTML.Nofollow' => true,    
], 

Из того, что я читал, вы должны использовать опцию HTML.AllowedAttributes конфигурации, где вы можете сделать что-то вроде этого:

'posts' => [ 
    //... 
    'HTML.AllowedAttributes' => ['blockquote.data-author'] 
], 

Я предполагаю, что это позволило бы , чтобы теперь иметь атрибут data-author?

Однако, мне интересно, какой тип значения htmlpurifier позволит атрибуту иметь? Накладывает ли он какие-либо ограничения по умолчанию?

Я читал о допустимых значениях в end-user documentation под Добавить атрибут раздела и заявляет вы можете контролировать то, что значения атрибута разрешено иметь при использовании метода addAttribute, однако я не уверен, как повторить, что при передаче в массиве конфигурации при вызове HTMLPurifier_Config::create()?

Как это можно сделать?

+1

Ознакомьтесь с http://stackoverflow.com/a/29317456/245790 для некоторых указателей. – pinkgothic

+0

@pinkgothic Спасибо, я видел это сообщение, но не знал, как реализовать это в методе массива config. Я использую структуру Yii2, поэтому он уже создает ее для вас, но я решил, что теперь можно сделать это с Yii2, используя обратный вызов, как показано [здесь] (http://www.yiiframework.com/doc-2.0/ Yii-хелперы-basehtmlpurifier.html # процесс% 28% 29-деталь). – Brett

ответ

1

Создайте объект конфигурации, затем вызовите getHTMLDefinition, а затем следуйте инструкциям в настройке.