HTMLPurifier允许a标签中的target属性和添加自定义属性

Lasted 2019-12-29 12:44:48

HTMLPurifier默认情况下会过滤<a>标签的target属性。

代码示例

允许<a>标签中的target属性

<?php

$config = HTMLPurifier_Config::createDefault();
$config->set('Attr.AllowedFrameTargets', array('_blank', '_self', '_parent', '_top'));

#系统会自动添加 rel
#<a href="https://docsxyz.com" rel="noreferrer noopener" target="_blank">dsfd</a>

添加自定义属性

比如想在<img>中添加data-type属性,HTMLPurifier默认会自动过滤,添加自定义属性:

<?php 

$config = HTMLPurifier_Config::createDefault();
$def = $config->getHTMLDefinition(true);
$def->addAttribute('img', 'data-type', 'Text');

Yii2中添加自定义属性

<?php

$content = HtmlPurifier::process($content, function ($config) {
  $config->getHTMLDefinition(true)
         ->addAttribute('img', 'data-type', 'Text');
});