HTMLPurifier去除target="_blank"属性

14

我正在使用HTMLPurifier,即使我已经:

$config->set('HTML.Doctype', 'XHTML 1.0 Transitional');
它从链接中删除所有的“target”属性。你知道它为什么这样做吗?

3
你确定你有最新的空气净化器吗?还确定你的HTML是有效的吗? :) - bzlm
是的 - 所有有效和版本昨天下载。 - user398341
2个回答

30

13
确切地说,我使用了以下代码:$config->set('Attr.AllowedFrameTargets', array('_blank')); 它有效了!非常感谢! - user398341
啊,谢谢,我以为是CKEditor的责任。使用YML配置时,你需要像这样定义一个数组(html_purifier -> config的子项):Attr.AllowedFrameTargets: [ '_blank', '_top', '_self', '_parent' ] - Adambean

1
在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),
]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接