你如何简单地取代htmlspecialchars?

时间:2011-10-18 05:00:35

标签: java android replace

input.replace("&amp;", "&").replace("&lt;", "<").replace("&gt;", ">").replace("&quot;", "\"");

我使用这行代码作为sudo htmlspecialchars转换器。在我的应用程序中,它不需要太复杂。

由于某种原因上面的代码没有替换(“&amp;”,“&amp;”),它似乎什么也没做。

任何建议?

input = input.replaceAll("[^\\x20-\\x7e]", "");

我也试过这个。

4 个答案:

答案 0 :(得分:2)

而不是手动执行此操作,请查看Html class.调用Html.fromHtml()应该如何操作。

答案 1 :(得分:2)

在android中,android.text.Html中有一个类Html,您可以像下面这样使用它:

Html.fromHtml(any_html_text);

但是这个函数将返回Spanned对象,所以使用

Spanned spn=Html.fromHtml(any_html_text);

您可以将此跨区文本设置为任何按钮或文本视图文本希望它能为您提供帮助。

请参阅此link以供参考。

答案 2 :(得分:1)

尝试通过自行替换字符串来逃避/取消html,您可能会在应用程序中引入安全问题(取决于它对输出的作用)。使用Html.FromHtml或Apache libs org.apache.commons.lang.StringEscapeUtils.unescapeHtml

答案 3 :(得分:0)

这是工作 -

 public String cleanString(String dirty) {

     return Html.fromHtml(dirty).toString();

    }