我需要解码HTML实体,例如来自ö到ö,和& amp;到&。
URLEncoder.decode(str)
不能完成这项工作(从%表示法转换)。 TextUtils有一个HTMLencode,但不是HTMLdecode。
是否有解码HTML实体的功能?
答案 0 :(得分:107)
Html class应该这样做,但据说一切都不受支持。它总是对我有用,但我从来没有ö所以我不知道这个。
尝试Html.fromHtml(yourStr)
获取已解码的字符串。
答案 1 :(得分:17)
Html.fromHtml(String html)已弃用,所以这是正确的方法
git fetch origin
答案 2 :(得分:10)
只需使用此代码
即可 Html.fromHtml(String).toString();
希望这会对你有所帮助
答案 3 :(得分:1)
您可以通过调用
从字符串中删除特殊字符responsestring.replace(“special char here”, “”);
你可以将响应转换为htmlstring中的字符串,就像那样 - Html.fromHtml(这里是响应字符串) 但是这种方法在API 24上已经过折旧,所以你需要以正确的方式进行 -
if (Build.VERSION.SDK_INT >= 24)
{
post_description.setText(Html.fromHtml( response here , Html.FROM_HTML_MODE_LEGACY));
}
else
{
post_description.setText(Html.fromHtml( response here ));
}
答案 4 :(得分:0)
您可以按照以下步骤使用WebView轻松表示任何html文本。
首先将html格式的数据转换为:
String res=null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
res=Html.fromHtml(product.getDescription(),Html.FROM_HTML_MODE_COMPACT).toString();
}
else{
res=Html.fromHtml(product.getDescription()).toString();
}
然后将您的数据加载到WebView中:
myWebView.loadDataWithBaseURL(null, res, "text/html", "utf-8", null);