我有一个可能包含不安全 HTML 的字符串。我想转义字符串中的标签,更改 <script>
至<script>
我怎样才能用 Dart 做到这一点?
最佳答案
使用HtmlEscape来自 dart:convert
.
import 'dart:convert' show HtmlEscape;
void main() {
var unsafe = 'Hello <script>world</script>';
var sanitizer = const HtmlEscape();
print(sanitizer.convert(unsafe));
}
上面的应用程序打印:
Hello <script>world</script>
默认行为是转义撇号、大于/小于、引号和斜杠。
如果要控制转义的内容,可以新建
HtmlEscape
与 HtmlEscapeMode .例如,要仅转义大于/小于和斜杠,请尝试以下操作:
var sanitizer = const HtmlEscape(HtmlEscapeMode.ELEMENT);
记住 , Dart 会在字符串进入 HTML 之前自动清理它们。因此,您可能不需要手动转义 HTML 脚本。如果您调用
element.setInnerHtml
使用不安全的字符串,它将被清理。
关于dart - 如何为 HTML 转义字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20552371/