Use Html.fromHtml and do not suffer with regulars, they are not needed here:
textView.setText(Html.fromHtml(htmlText));
Unfortunately, if your links are relative, they will not work when clicked, but this can be corrected using the method (taken from here ):
public Spanned correctLinkPaths(Spanned spantext) { Object[] spans = spantext.getSpans(0, spantext.length(), Object.class); for (Object span : spans) { int start = spantext.getSpanStart(span); int end = spantext.getSpanEnd(span); int flags = spantext.getSpanFlags(span); if (span instanceof URLSpan) { URLSpan urlSpan = (URLSpan) span; if (!urlSpan.getURL().startsWith("http")) { if (urlSpan.getURL().startsWith("/")) { urlSpan = new URLSpan("http://domain+path" + urlSpan.getURL()); } else { urlSpan = new URLSpan("http://domain+path/" + urlSpan.getURL()); } } ((Spannable) spantext).removeSpan(span); ((Spannable) spantext).setSpan(urlSpan, start, end, flags); } } return spantext; }
http://domain+path replace with your primary domain, after which the initial code turns into:
textView.setText(correctLinkPaths(Html.fromHtml(htmlText)));