ardabeyazoglu/htmlpurifierx

在原始HTMLPurifier库周围提供一个垫片,以允许更多定制

1.0.3 2021-07-11 16:12 UTC

This package is auto-updated.

Last update: 2024-09-11 23:24:29 UTC


README

HTMLPurifierX是原始ezyang/htmlpurifier库的一个小型包装,提供了一些额外的定制选项。它也与xemlock/htmlpurifier-html5兼容。

它扩展了配置选项,允许以下功能,因为这些功能在其他情况下无法完成,因为htmlpurifier遵循基于白名单单个元素和属性的设计原则。

  • 允许元素上所有的data-*属性,因为它们是无害的并且经常被使用。

      $configObject->set("HTML.AllowDataAttributes", true);
    
  • 允许元素上像"xxx:yyyyyy"这样的命名空间属性,因为它们在现代框架中被使用。

      $configObject->set("HTML.AllowNamespacedAttributes", true);
    
  • 允许所有满足正则表达式的自定义元素名称,因为它们在Web组件和现代框架中广泛使用。一个常见的用例是允许所有具有用户定义前缀的元素。

      $configObject->set("HTML.AllowCustomElements", true);
      // default "": means allow all custom elements.
      $configObject->set("HTML.AllowCustomElementsRegex", "/^x-/");
    

查看示例以了解其工作原理。

安装

composer require ardabeyazoglu/htmlpurifierx

如果尚未安装,此操作还会安装原始ezyang/htmlpurifier库。

为什么不创建分支?

这里所做的定制可能与原始库的设计原则相冲突。作为额外层提供它们更容易、更快。

许可证

LGPL(与原始库相同)