Decode HTML entities in android

55,364

Solution 1

The Html class is supposed to do that, however it is said that everything is not supported. It always worked for me but I never had ö so I can't tell for this one. Try Html.fromHtml(yourStr) to get the decoded string.

Solution 2

Html.fromHtml(String html) is deprecated after API v24 so this is the correct way to do it

  if (Build.VERSION.SDK_INT >= 24)
  {
       textView.setText(Html.fromHtml(htmlString , Html.FROM_HTML_MODE_LEGACY)));  
  }
  else
  {
       textView.setText(Html.fromHtml(htmlString));
  }

Solution 3

Simply you can do that using this code

  Html.fromHtml(String).toString();

Hope this will help you

Solution 4

you can use WebView to represent any html text easily by following below steps.

first convert your data in html format as :

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();
}

Then load your data in WebView as:

myWebView.loadDataWithBaseURL(null, res, "text/html", "utf-8", null);

Solution 5

You can remove special char from string by calling

responsestring.replace(“special char here”, “”);

you can convert response into a string from htmlstring like that – Html.fromHtml( response string here ) But this method is depreciated on API 24 so you need to do it in a correct way-

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 ));
}
Share:
55,364
johboh
Author by

johboh

Updated on July 05, 2022

Comments

  • johboh
    johboh almost 2 years

    I need to decode HTML entities, e.g. from ö to ö, and & to &.

    URLEncoder.decode(str) does not do the job (convert from % notations). TextUtils has a HTMLencode, but not a HTMLdecode.

    Are there any function for decoding HTML entities?

  • sFuller
    sFuller about 11 years
    It appears that in API Level 16 they have added Html.escapeHtml
  • capt.swag
    capt.swag almost 9 years
    Although it works perfectly, I code is quite complicated. Why isn't there something simple for doing this?
  • Shubham Chaudhary
    Shubham Chaudhary almost 9 years
    @sFuller Functionality wise fromHtml != escapeHtml (AFAICT from the android source code)
  • saeed
    saeed over 8 years
    Let me know your result
  • xjcl
    xjcl about 4 years
    escapeHtml? But I want to do opposite (decode/unescape HTML)!