Shaiful Shaiful - 1 year ago 231
Java Question

Convert plain text to HTML text in Java

I have java program, which will receive plain text from server. The plain text may contain URLs. Is there any Class in Java library to convert plain text to HTML text? Or any other library? If there are not then what is the solution?

Answer Source

I found a solution using pattern matching. Here is my code -

String str = "(?i)\\b((?:https?://|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:\'\".,<>?«»“”‘’]))";
Pattern patt = Pattern.compile(str);
Matcher matcher = patt.matcher(plain);
plain = matcher.replaceAll("<a href=\"$1\">$1</a>");

And Here are the input and output -

Input text is variable plain:

some text and then the URL and then some other text.

Output :

some text and then the URL <a href=""></a> and then some other text.
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download