我需要解码 HTML 实体,例如来自 ö 至 ö 和 & 到 &。
URLEncoder.decode(str)
不做这项工作(从 % 符号转换)。TextUtils 有 HTMLencode,但没有 HTMLdecode。
是否有任何用于解码 HTML 实体的功能?
Html 类应该这样做,但是据说不支持所有内容。它总是对我有用,但我从来没有 ö 所以我不能告诉这个。尝试Html.fromHtml(yourStr)
获取解码后的字符串。
Html.fromHtml(String html) 在 API v24 之后被弃用,所以这是正确的方法
if (Build.VERSION.SDK_INT >= 24)
{
textView.setText(Html.fromHtml(htmlString , Html.FROM_HTML_MODE_LEGACY)));
}
else
{
textView.setText(Html.fromHtml(htmlString));
}
只需使用此代码即可
Html.fromHtml(String).toString();
希望对你有帮助
您可以按照以下步骤使用 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);
您可以通过调用从字符串中删除特殊字符
responsestring.replace(“special char here”, “”);
您可以像这样将响应从 htmlstring 转换为字符串 – Html.fromHtml( response string here ) 但是这种方法在 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 ));
}