我使用了SafeHtmlUtils.htmlEscape(文本),我想使用相反的功能。你能告诉我在gwt中是否有类似unescapeHtml()的功能
答案 0 :(得分:9)
如果(并且仅在请),您可以信任该文本不包含恶意内容,您可以使用
import com.google.gwt.user.client.ui.HTML;
String unescaped = new HTML(text).getText();
答案 1 :(得分:0)
如果没有采取任何措施来做这个技巧(比如一些GWT项目),你可以使用javascript snip在JSNI方法中实现它,你可以在这里找到它:[CSS/HTML/Js] Unescaping HTML in javascript
答案 2 :(得分:0)
我想要一些易于单元测试的东西,所以我实现了' htmlUnescape()'这颠倒了 SafeHtmlUtils.htmlEscape()和 SafeHtmlBuilder.appendEscapedLines()的影响。它们都存在于“共享”中。打包并在JVM中正常工作。
此实用程序类可能对您有用...
private static class Replacer {
private final String target;
private final String replacement;
private final RegExp re;
private Replacer(String target, String replacement) {
this.target = target;
this.replacement = replacement;
re = RegExp.compile(RegExp.quote(target), "g");
}
public String process(String s) {
if (s.contains(target)) return re.replace(s, replacement);
return s;
}
}