【发布时间】:2013-12-21 02:26:34
【问题描述】:
这是我的要求。我有一个文本框,用户可以在文本框中输入任何内容,系统会将其转换为 html。但是,它只转换 <b> or <i> 标签并忽略所有其他标签。该文本的结果将被放入<h1> 标记中。
例如,用户在文本框中输入:<h1>text <i>test</i></h1> 它会输出:
文本测试
因此,如果用户在文本框中键入 <h1>,那么系统应该足够聪明,知道它应该转义 <h1>,但它必须将 <h1> 放入最后的字符串。
代码可能是这样的。我使用 SimpleHtmlSanitizer 清理字符串 & 只允许 <b> or <i>
SafeHtml mySafeHtml=MySimpleHtmlSanitizer.sanitizeHtml("<h1>text <i>test</i></h1>");
所以,如果我打印出 mySafeHtml,那么它将显示如下:
文本测试
那么如何让这个字符串包含在标签内呢?
SafeHtmlBuilder builder = new SafeHtmlBuilder();
builder.appendHtmlConstant("<h1>");
builder.appendEscaped(mySafeHtml); // err here cos SafeHtmlBuilder does not excapse SafeHtml?
builder.appendHtmlConstant("</h1>");
那么如何解决我的问题呢?
【问题讨论】:
标签: gwt