HtmlEscapefinal

转换器,用于转义在 HTML 中具有特殊意义的字符。

转换器会查找 HTML 源代码中具有意义的字符,并将它们替换为相应的 HTML 实体。

需要转义的 HTML 字符包括

  • &(和号)始终需要转义。
  • 元素内的 <(小于)和 >(大于)。
  • 双引号属性值内的 "(引号)。
  • 单引号属性值内的 '(撇号)。撇号转义为 &#39; 而不是 &apos;,因为并非所有浏览器都理解 &apos;
  • /(斜杠)建议转义,因为它可能在某些 HTML 方言中用于终止元素。

转义 >(大于)不是必需的,但如果在转义 <(小于)时也转义大于号,结果通常更容易阅读。

示例

const HtmlEscape htmlEscape = HtmlEscape();
String unescaped = 'Text & subject';
String escaped = htmlEscape.convert(unescaped);
print(escaped); // Text &amp; 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: &#39;text&#39;

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

unescaped = 'Path: /system/';
escaped = htmlEscape.convert(unescaped);
print(escaped); // Path: &#47;system&#47;
继承

构造函数

HtmlEscape([HtmlEscapeMode mode = HtmlEscapeMode.unknown])
创建转义 HTML 字符的转换器。
const

属性

hashCode int
此对象的哈希码。
无设置器继承
mode HtmlEscapeMode
转换器使用的 HtmlEscapeMode
final
runtimeType Type
对象运行时类型的表示。
无设置器继承

方法

bind(Stream<String> stream) Stream<String>
转换提供的 stream
继承
cast<RS, RT>() Converter<RS, RT>
为此流转换器提供 Converter<RS, RT> 视图。
继承
convert(String text) String
转换 input 并返回转换结果。
override
fuse<TT>(Converter<String, TT> other) Converter<String, TT>
将此对象与other对象合并。
继承
noSuchMethod(Invocation invocation) → dynamic
当访问不存在的方法或属性时被调用。
继承
startChunkedConversion(Sink<String> sink) StringConversionSink
开始分块转换。
override
toString() String
此对象的字符串表示。
继承

运算符

operator ==(Object other) bool
相等运算符。
继承