jsoup / Java - 如何附加一个不间断的 space

jsoup / Java - how to append a nonbreaking space

调用 [Element].appendtext(" ") 会导致符号被转义,因此用户会在呈现的 HTML 页面上看到符号。我不希望页面呈现 HTML 代码。

我确实希望 html 页面呈现空白。

可以使用 Unicode 转义序列将不间断 space 写入字符串文字:"\u00A0".

但是,如果您希望元素中的 all whitespace 按字面意思呈现,请考虑使用普通 spaces 但应用 CSS 属性 例如white-space: pre;.

有一个名为 MgntUtils 的开源库,它具有接受常规字符串并为 Html 格式创建字符串的功能,其中将保留字符串格式。 IE。字符串中的所有 space 将被替换为不间断的 space 并且所有新行将被替换为 'br' 标签。优点是,如果您只是将 String 打印为文本,非制动 spaces 看起来就像常规 space 而不是“\u00A0”或 nbsp 转义。当然,您会看到 br 标签,但您的 String 看起来仍然更具可读性。这是方法的JavaDoc。我发现它有时很方便。代码看起来

String htmlFormattedStr = formatStringToPreserveIndentationForHtml(rawText);

可以找到库 Maven 工件 here and the library itself as a Jar file as well as source code and JavaDoc can be found on Github. Here is the link to the article 关于库