HtmlEscapeModefinal

HTML 转义模式。

允许指定一个基于转义结果将用于的上下文的 HTML 转义模式。相关的上下文包括

  • HTML 元素文本内容。
  • 作为(单或双)引号属性值的值。

所有模式都需要转义 &(和号)字符,并且可以启用转义更多字符。

可以使用 HtmlEscapeMode.new 构造函数创建自定义的转义模式。

示例

const htmlEscapeMode = HtmlEscapeMode(
  name: 'custom',
  escapeLtGt: true,
  escapeQuot: false,
  escapeApos: false,
  escapeSlash: false,
 );

const HtmlEscape htmlEscape = HtmlEscape(htmlEscapeMode);
String unescaped = 'Text & subject';
String escaped = htmlEscape.convert(unescaped);
print(escaped); // Text & subject

unescaped = '10 > 1 and 1 < 10';
escaped = htmlEscape.convert(unescaped);
print(escaped); // 10 &gt; 1 and 1 &lt; 10

unescaped = "Single-quoted: 'text'";
escaped = htmlEscape.convert(unescaped);
print(escaped); // Single-quoted: 'text'

unescaped = 'Double-quoted: "text"';
escaped = htmlEscape.convert(unescaped);
print(escaped); // Double-quoted: "text"

unescaped = 'Path: /system/';
escaped = htmlEscape.convert(unescaped);
print(escaped); // Path: /system/

构造函数

HtmlEscapeMode({String name = "custom", bool escapeLtGt = false, bool escapeQuot = false, bool escapeApos = false, bool escapeSlash = false})
创建一个自定义的转义模式。
const

属性

escapeApos bool
是否转义 "'"(单引号)。
final
escapeLtGt bool
是否转义 '<' 和 '>'。
final
escapeQuot bool
是否转义 '"'(引号)。
final
escapeSlash bool
是否转义 "/"(正斜杠,斜杠)。
final
hashCode int
该对象的哈希码。
no setterinherited
runtimeType Type
对象的运行时类型表示。
no setterinherited

方法

noSuchMethod(Invocation invocation) → dynamic
当访问不存在的方法或属性时被调用。
inherited
toString() String
该对象的字符串表示。
override

运算符

operator ==(Object other) bool
等于运算符。
inherited

常量

attribute → const HtmlEscapeMode
双引号HTML属性值中的文本转义模式。
元素 → const HtmlEscapeMode
HTML元素内容中的文本转义模式。
sqAttribute → const HtmlEscapeMode
单引号HTML属性值中的文本转义模式。
unknown → const HtmlEscapeMode
默认转义模式,转义所有字符。