I need to encode a Java String to display properly as part of an HTML document, e.g. all new lines or tab characters. So I have e.g. "one\ntwo", and I want to get something like "one<br>two". Do you know any library that would do it for me?
3 Answers
Spring Framework's HtmlUtils.htmlEscape(String) method should do the trick:
Turn special characters into HTML character references. Handles complete character set defined in HTML 4.01 recommendation.
2 Comments
Aaron Digulla
-1 This just converts characters with a code point > 128, not unprintable characters.
Adamski
True, but in reality it's fairly unlikely that a string would contain unprintable characters.
You don't need a library for those simple cases. A simple loop over string.replaceAll() should do the trick.
If you are looking for more fancy conversions (such as done here on SO or in a wiki) you can check out the Java Wikipedia API. Code example here. Although I guess it may be a bit overkill for your needs.