🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## **AutoParagraph** 该指令打开自动分段功能,在这种情况下,尽可能将双换行符转换为段落。自动分段: * 始终应用于根节点中的**内联元素或文本**, * 适用于内联元素或带有双换行符的文本(在允许段落标记的节点中), * 适用于段落标记中的双换行符 `p`必须被允许标记,此指令才能生效。我们不会`br`在段落中使用标签,因为这在语义上是不正确的。 为防止自动段落作为内容的产生者,请避免使用双换行符,除非指定新段落或在具有特殊含义的上下文中使用(空白空间通常没有含义,除了诸如`pre`这样的标记之外,因此不应该很困难)。为防止在块元素附近插入内联文本,将它们包裹在`div`标签中(行为在根节点之外略有不同)。 ``` $config->set('HTML.Allowed','p'); $config->set('AutoFormat.AutoParagraph',true); ``` ## **Custom** 此伪指令可用于添加自定义自动格式化注入器。指定一个注射器名称数组(类名称减去前缀)或具体实现。注射器类必须存在。本例用系统的注入器类代替自定义的 ``` $config->set('AutoFormat.Custom',['AutoParagraph']); ``` ## **DisplayLinkURI** 此伪指令打开标记中URI的文本显示,并禁用这些链接。 ``` //显示a连接的地址 <a href="www.baidu.com">百度一下会死</a> 变为 <a>百度一下会死</a> (www.baidu.com) $config->set('AutoFormat.DisplayLinkURI', true); ``` ## **Linkify** 该指令打开链接化,自动链接http,ftp和https URL。`a`具有`href`属性的标签必须允许。 将http、https和ftp文本url转换为实际链接 ``` // <p>http://www.baidu.com</p> 转为 <p><a href="http://www.baidu.com">http://www.baidu.com</a></p> $config->set('AutoFormat.Linkify', true); ``` ## **PurifierLinkify.DocURL** 要链接到的配置文档的位置,让%s替换为配置的名称空间,指令名称不带百分号。 ## **PurifierLinkify** 内部自动格式化程序,可将语法%Namespace.Directive中的配置指令转换为链接。`a`具有`href`属性的标签必须允许。 ## **RemoveEmpty.Predicate** 给定一个元素没有内容,默认情况下它将被删除,除非该谓词另有规定。谓词可以是从标记名到属性列表的关联映射,必须将这些属性存在才能视为要保留的元素:因此,默认值始终保留`colgroup`,`th`和`td`,`iframe`如果它具有,则也是如此`src`。 ## **RemoveEmpty.RemoveNbsp.Exceptions** 当[%AutoFormat.RemoveEmpty](http://htmlpurifier.org/live/configdoc/plain.html#AutoFormat.RemoveEmpty)和[%AutoFormat.RemoveEmpty](http://htmlpurifier.org/live/configdoc/plain.html#AutoFormat.RemoveEmpty).RemoveNbsp被启用,该指令定义了哪些HTML元素不应该removede如果他们只有在他们非换空间。 ## **RemoveEmpty.RemoveNbsp** 启用后,HTML Purifier会将仅包含不间断空格和常规空格的任何元素都视为空白,并在启用[%AutoForamt.RemoveEmpty](http://htmlpurifier.org/live/configdoc/plain.html#AutoForamt.RemoveEmpty)时将其删除。 请参阅[%AutoFormat.RemoveEmpty](http://htmlpurifier.org/live/configdoc/plain.html#AutoFormat.RemoveEmpty).RemoveNbsp.Exceptions,以了解没有对此行为应用的元素的列表。 ## **RemoveEmpty** 启用后,HTML Purifier将尝试删除对文档没有任何语义信息的空元素。以下类型的节点将被删除: * 没有属性,没有内容且不是空元素的标签(删除`<a></a>`但不是`<br />`),以及 * 没有内容的标签,除了: * 的`colgroup`元素,或 * 具有`id`或`name`属性的元素(如果在这些元素上允许使用那些属性)。 使用此功能时请格外小心;尽管看起来空白元素似乎没有包含有用的信息,但是如果使用适当的样式,它们可以更改文档的布局。当处理机器生成的HTML时,此指令最有用,请避免在常规用户HTML上使用它。 仅包含空格的元素将被视为空。但是,不间断空格不算作空格。请参阅[%AutoFormat.RemoveEmpty](http://htmlpurifier.org/live/configdoc/plain.html#AutoFormat.RemoveEmpty).RemoveNbsp以了解其他行为。 该算法并不完美;您可能仍然会注意到一些空标签,尤其是在节点中包含元素的情况下,但是后来又删除了这些元素,因为这些元素在该上下文中是不允许的,或者被另一个标签自动关闭后又为空的标签被删除。出于安全原因,这可以防止聪明的代码破坏验证。一般的经验法则:如果标签在进入过程中看起来是空的,它将被删除;如果HTML Purifier使其为空,它将保持不变。 ## **RemoveSpansWithoutAttributes** 此伪指令将导致`span`删除没有任何属性的标记。它还将删除在处理期间已删除所有属性的跨度。