HTMLPurifier удаляет target=_blank

Я использую HTMLPurifier, и даже у меня есть:

$config->set('HTML.Doctype', 'XHTML 1.0 Transitional');

он удаляет все «целевые» атрибуты из ссылок.

Любая идея, почему он это делает?


person user398341    schedule 21.06.2011    source источник
comment
Уверены, что у вас установлена ​​последняя версия очистителя? Кроме того, уверены, что ваш HTML действителен? :)   -  person bzlm    schedule 21.06.2011
comment
Да - все верно и версия скачана вчера.   -  person user398341    schedule 21.06.2011


Ответы (2)


список разрешенных целей кадра: по умолчанию не включен. Вы должны включить его вручную.

person TuteC    schedule 21.06.2011
comment
Это было именно так - я использовал следующее: $config-›set('Attr.AllowedFrameTargets', array('_blank')); и это работает! Большое спасибо! - person user398341; 22.06.2011
comment
А, спасибо, я думал, что за это отвечает CKEditor. С конфигурациями YML вам необходимо определить такой массив (дочерний элемент html_purifier -> config): Attr.AllowedFrameTargets: [ '_blank', '_top', '_self', '_parent' ] - person Adambean; 06.07.2015

В приложении Yii2 внутри DetailView я настроил HtmlPurifier следующим образом:

[
    'label' => 'Document PDF',
    'format'=> 'raw',
    'value' => HtmlPurifier::process(DocumentFunctions::viewDocumentPdfInView($model->document_id), [
    'Attr.AllowedFrameTargets' => ['_blank'],
    ]),
],

Вот более простой способ, который я нашел:

[
    'label' => 'Document PDF',
    'format'=> ['html', 'config' => ['Attr.AllowedFrameTargets' => ['_blank']]],
    'value' => DocumentFunctions::viewDocumentPdfInView($model->document_id),
]
person Bill Stoddard    schedule 15.01.2016