【发布时间】:2011-02-24 12:35:00
【问题描述】:
我需要解码 HTML 实体,例如来自 ö至 ö 和 &到&。
URLEncoder.decode(str) 不做这项工作(从 % 符号转换)。 TextUtils 有 HTMLencode,但没有 HTMLdecode。
有没有解码HTML实体的函数?
【问题讨论】:
我需要解码 HTML 实体,例如来自 ö至 ö 和 &到&。
URLEncoder.decode(str) 不做这项工作(从 % 符号转换)。 TextUtils 有 HTMLencode,但没有 HTMLdecode。
有没有解码HTML实体的函数?
【问题讨论】:
您可以按照以下步骤使用 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(此处为响应字符串) 但是这种方法在 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 ));
}
【讨论】:
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 class 应该这样做,但是据说不支持所有内容。它总是对我有用,但我从来没有 ö 所以我不能告诉这个。
尝试Html.fromHtml(yourStr)获取解码后的字符串。
【讨论】:
Html.escapeHtml
fromHtml != escapeHtml(来自android源代码的AFAICT)
escapeHtml?但我想做相反的事情(解码/取消转义 HTML)!
您只需使用此代码即可完成此操作
Html.fromHtml(String).toString();
希望对你有帮助
【讨论】: