使用HtmlEscape从dart:convert.
import 'dart:convert' show HtmlEscape;
void main() {
var unsafe = 'Hello <script>world</script>';
var sanitizer = const HtmlEscape();
print(sanitizer.convert(unsafe));
}
Run Code Online (Sandbox Code Playgroud)
上面的应用程序打印:
Hello <script>world</script>
Run Code Online (Sandbox Code Playgroud)
默认行为是转义撇号,大于/小于,小于引号和斜杠.
如果要控制转义的内容,可以HtmlEscape使用HtmlEscapeMode创建新内容.
例如,要仅转义大于/小于和小于斜杠,请尝试以下操作:
var sanitizer = const HtmlEscape(HtmlEscapeMode.ELEMENT);
Run Code Online (Sandbox Code Playgroud)
请记住,Dart会在字符串进入HTML之前自动清理字符串.因此,您可能不需要手动转义HTML脚本.如果element.setInnerHtml使用不安全的字符串调用,它将被清理.
| 归档时间: |
|
| 查看次数: |
1803 次 |
| 最近记录: |