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
常量
- 属性 → const HtmlEscapeMode
- 用于双引号HTML属性值的转义模式。
- 元素 → const HtmlEscapeMode
- 用于HTML元素内容的转义模式。
- 单引号属性 → const HtmlEscapeMode
- 用于单引号HTML属性值的转义模式。
- 未知 → const HtmlEscapeMode
- 默认转义模式,转义所有字符。