Mewebstudio净化器添加自定义属性?

时间:2017-10-20 19:19:30

标签: laravel attributes

使用:https://github.com/mewebstudio/Purifier 我无法添加任何自定义属性。 测试了所有可能的变化,但仍然没有。 在配置文件中,我看到了:

'custom_attributes' => [
        ['a', 'target', 'Enum#_blank,_self,_target,_top'],
],

但经过测试<a target="_top" href="www.example.com">Example.com</a> 没有任何反应。

我错过了什么吗?

我只需要两个带有自定义文字的属性:

data-rel
data-title

请有人帮忙或建议更好的选择。谢谢!

1 个答案:

答案 0 :(得分:1)

在配置文件中,您应该添加以下内容:

'custom_attributes' => [
            ['a', 'target', 'Enum#_blank,_self,_target,_top'],
            ['img', 'data-rel', 'Text'],
            ['img', 'data-title', 'Text'],
        ],

请注意,这仅对img标签有效。如果要为另一个标签拥有这些属性,则可以相应地更改第一个数组元素。

然后在默认配置数组中,您实际上应该允许这些自定义属性如下:

'default' => [
            'HTML.Doctype'             => 'XHTML 1.0 Transitional',
            'HTML.Allowed'             => 'img[width|height|alt|src|class|data-rel|data-title],table,tbody,tr,td[style|rowspan],h1,h2,h3,h4,h5,h6,small,div,b,strong,i,em,u,a[href|title|target],ul,ol,li,p[style|class],br,span[style],sup,sub',
            'CSS.AllowedProperties'    => 'font,font-size,font-weight,font-style,font-family,text-decoration,padding-left,color,background-color,text-align,vertical-align',
            'AutoFormat.AutoParagraph' => false,
            'AutoFormat.RemoveEmpty'   => false,
        ],

请注意在HTML中添加的data-rel,data-title属性。img元素附近允许使用字符串。 同样,如果要为另一个标记添加自定义属性,则应在custom_attributes数组和HTML.Allowed字符串中都指定它。