如何在GWT中转换字符串

时间:2012-07-18 08:15:21

标签: java gwt

我使用了SafeHtmlUtils.htmlEscape(文本),我想使用相反的功能。你能告诉我在gwt中是否有类似unescapeHtml()的功能

3 个答案:

答案 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;
    }
}