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 > 1 and 1 < 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/
构造函数
属性
- 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
- 默认转义模式,转义所有字符。