在Dart中解码HTML编码的文本

前端之家收集整理的这篇文章主要介绍了在Dart中解码HTML编码的文本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
似乎Dart没有提供默认机制(或者至少我找不到它)来解码 HTML转义实体.

我想做的是转换例如. Q& A至Q& A. (这只是一个例子)

从版本1.11.1开始,Dart转换编码这些like so.

从那里创建自定义转换器实现相当简单,但不会涵盖所有用例.如:如果& lt;以&#x3C的十六进制值表示;?

有人有一些漂亮的解决方

解决方法

我只是为了这个目的而制作了一个小而完整的Dart库: html_unescape.

支持

>命名字符引用(& nbsp;)

> 2099他们

>十进制字符引用(á)
>十六进制字符引用(ã)

同步使用

import 'package:html_unescape/html_unescape.dart';

main() {
  var unescape = new HtmlUnescape();
  var text = unescape.convert("<strong>This "escaped" string");
  print(text);
}

异步使用

您还可以使用转换器转换流.例如,代码
下面将把POSIX stdin转换为HTML-unncoded stdout.

await stdin
    .transform(new Utf8Decoder())
    .transform(new HtmlUnescape())
    .transform(new Utf8Encoder())
    .pipe(stdout);

More info + docs on pub.

猜你在找的HTML相关文章