1

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 3

3

try using preformat tag <pre>

Sign up to request clarification or add additional context in comments.

2 Comments

your answer is not related to question as it not convert line breaks to br. pre tag is used normally to show code as it preserves spaces and line breaks.
Its not exactly what I asked about, but does the job well enough!
2

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

-1 This just converts characters with a code point > 128, not unprintable characters.
True, but in reality it's fairly unlikely that a string would contain unprintable characters.
1

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.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.