1

您知道 SimpleHtmlSanitizer.java 只接受以下标记(“b”、“em”、“i”、“h1”、“h2”、“h3”、“h4”、“h5”、“h6”、“hr ”、“ul”、“ol”、“li”)。这很好,但我想要“u”、“sub”、“a href=" & 不想要“hr”、“ul”、“ol”、“li”。所以我需要修改这个类。

现在看看 SimpleHtmlSanitizer.java ( https://code.google.com/p/google-web-toolkit/source/browse/trunk/user/src/com/google/gwt/safehtml/shared/SimpleHtmlSanitizer.java? r=8653)并查看该类中的这一行:

Arrays.asList("b", "em", "i", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "ul", "ol", "li"));

你可以猜到我们可以将愿望清单放入那行代码中。所以我将其修改为:

Arrays.asList("b","i", "u", "h1", "h2", "h3", "h4","a href="));

该列表中的每个标签都可以正常工作,除了“a href =”。例如,当我输入字符串时Test <a href="car.com"><hr>hello</a>,它没有显示正确的输出。正确的输出应该<hr>hello在超链接中有字符串。

那么如何修改SimpleHtmlSanitizer的情况下<a href=

4

1 回答 1

0

那是因为SimpleHtmlSanitizer清理了无属性标签,但事实<a href="">并非如此。因此,您必须深入研究simpleSanitize()方法以允许这样做。但请注意,没有为此提及它,因此您可能会在其中使用另一种算法,并且闻起来不安全。

于 2013-05-04T14:36:06.950 回答