ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## **AllowedClasses** class属性中允许的类值的列表。默认情况下,它为null,表示允许所有类 必须允许class属性才能生效 ``` //允许某个元素的所有class $config->set('HTML.Allowed','p[class]'); $config->set('Attr.AllowedClasses', null); //允许所有元素的所有class $config->set('HTML.AllowedAttributes','class'); $config->set('Attr.AllowedClasses', null); //允许所有元素的所有class $config->set('HTML.AllowedAttributes','class'); $config->set('Attr.AllowedClasses', [info]); ``` ## **AllowedFrameTargets** 所有允许的链接框架目标的查找表。一些常用的链接目标包括\_blank,\_self,\_parent和\_top。值应为小写,因为尽管W3C建议,验证仍将以区分大小写的方式进行。XHTML 1.0 Strict不允许使用target属性,因此该指令在该doctype中无效。XHTML 1.1默认情况下不启用目标模块,您将必须手动启用它(有关更多详细信息,请参阅模块文档。) ## **AllowedRel** rel属性中允许转发的文档关系列表。公共值可以是nofollow或print。默认情况下,这是空的,这意味着不允许任何文档关系。 ## **AllowedRev** rev属性中允许的反向文档关系列表。这个属性有点像边界情况;如果你不知道它是干什么的,那就离远点。 ## **ClassUseCDATA** 如果为null,则class将自动检测doctype,并且如果与XHTML 1.1或XHTML 2.0匹配,将使用class的限制性NMTOKENS规范。否则,它将使用宽松的CDATA定义。如果为true,则强制使用宽松的CDATA定义;如果为false,则强制使用NMTOKENS定义。要获得4.0.0之前版本的HTML Purifier的行为,请将此伪指令设置为false。自动检测背后的一些合理性:在先前版本的HTML Purifier中,假定类的形式是NMTOKENS,如XHTML模块化(表示XHTML 1.1和XHTML 2.0)所指定的。HTML 4.01和XHTML 1.0的DTD但是将类指定为CDATA。HTML 5有效地将其定义为CDATA,但存在每个名称都应唯一的附加约束(在先前的规范中未明确概述)。 ## **DefaultImageAlt** 如果用户先前未指定alt属性,则这是图像alt标签的内容。这适用于所有没有有效alt属性的图像,与[%Attr.DefaultInvalidImageAlt相反](http://htmlpurifier.org/live/configdoc/plain.html#Attr.DefaultInvalidImageAlt),后者仅适用于无效图像,并在无效图像的情况下覆盖。默认为null的行为是将src标记的基本名称用于alt。 ## **DefaultInvalidImage** 这是img标签没有有效的src属性时将指向的默认图片。在将来的版本中,我们可能允许完全删除image标签,但是由于设计问题,目前无法这样做。 ## **DefaultInvalidImageAlt** 如果用户先前未指定alt属性,则这是无效图像的alt标签的内容。当图像有效但不存在alt属性时,它不起作用。 ## **DefaultTextDir** 定义要解析的文档的默认文本方向(ltr或rtl)。这通常与HTML中dir属性的值相同,如果未指定,则为ltr。 ## **EnableID** 允许HTML中的ID属性。由于以下事实,默认情况下将其禁用:由于没有适当的配置,用户输入可以通过指定周围HTML上已经存在的ID来轻易破坏网页的验证。如果您不介意[风吹草动](http://htmlpurifier.org/live/configdoc/plain.html#Attr.IDBlacklist),请启用此指令,但我强烈建议您也考虑将使用的ID列入黑名单([%Attr.IDBlacklist](http://htmlpurifier.org/live/configdoc/plain.html#Attr.IDBlacklist))或为所有用户提供的ID[加上](http://htmlpurifier.org/live/configdoc/plain.html#Attr.IDPrefix)前缀([%Attr.IDPrefix](http://htmlpurifier.org/live/configdoc/plain.html#Attr.IDPrefix))。设置为true时,HTML Purifier会恢复为1.2.0之前的版本的行为。 ## **ForbiddenClasses** class属性中的禁止类值列表。默认情况下,它是空的,这意味着禁止任何类。另请参见[%Attr.AllowedClasses](http://htmlpurifier.org/live/configdoc/plain.html#Attr.AllowedClasses)。 ## **ID.HTML5** 在HTML5中,已大大放松了对id属性格式的限制,以使任何字符串有效,只要它不包含空格并且至少是一个字符即可。代替常规的HTML5兼容性标志,请将此配置指令设置为true以使用宽松的规则。 ## **IDBlacklist** 文档中不允许使用的ID数组。 ## **IDBlacklistRegexp** PCRE正则表达式要与所有ID匹配。如果表达式匹配,则拒绝该ID。谨慎使用:可能会导致严重的退化。在所有其他验证之后完成ID匹配。 ## **IDPrefix** ID前缀的字符串。如果您不知道页面可以使用什么ID,则可以选择简单地在所有用户提交的ID属性中添加前缀,以使它们仍然可用,但不会与核心页面ID冲突。示例:将指令设置为“ user\_”将导致用户提交的“ foo”成为“ user\_foo”。在使用此命令之前,请确保将[%HTML.EnableAttrID](http://htmlpurifier.org/live/configdoc/plain.html#HTML.EnableAttrID)设置为true。 ## **IDPrefixLocal** 与[%Attr.IDPrefix](http://htmlpurifier.org/live/configdoc/plain.html#Attr.IDPrefix)结合使用的ID的临时前缀。如果需要在网页上允许多组用户内容,则可能需要具有一个单独的前缀,该前缀会随每次迭代而变化。这样,在同一页面上显示的单独提交的用户内容不会互相干扰。理想值是其表示的内容的唯一标识符(即数据库中行的ID)。确保最后添加分隔符(如下划线)。警告:除非将[%Attr.IDPrefix](http://htmlpurifier.org/live/configdoc/plain.html#Attr.IDPrefix)设置为非空值,否则此伪指令将不起作用!