jsoup / Java - как добавить неразрывный пробел - PullRequest
0 голосов
/ 06 ноября 2019

Вызов [Element] .appendtext ("") приводит к экранированию амперсанда, и пользователь видит амперсанд на отображаемой HTML-странице. Я не хочу, чтобы страница отображала HTML-код.

Я действительно хочу, чтобы HTML-страница отображала пробелы.

Ответы [ 2 ]

1 голос
/ 06 ноября 2019

Неразрывный пробел может быть записан в строковый литерал с помощью escape-последовательности Unicode: "\u00A0".

Однако, если вы хотите, чтобы все пробелы в элементе отображалисьбуквально, подумайте об использовании обычных пробелов, но применяя свойство CSS, такое как white-space: pre;.

0 голосов
/ 06 ноября 2019

Существует библиотека с открытым исходным кодом под названием MgntUtils, которая имеет функцию, которая принимает обычную строку и создает формат строки для HTML, где форматирование строки будет сохранено. Т.е. все пробелы в строке будут заменены неразрывными пробелами, а все новые строки будут заменены тегами 'br'. Преимущество заключается в том, что если вы просто напечатаете свою строку в виде текста, то не-тормозные пробелы будут выглядеть как обычный пробел, а не как "\ u00A0" или nbsp escape. Конечно, вы увидите теги br, но, тем не менее, ваша строка будет выглядеть гораздо более читабельной. Вот JavaDoc для метода. Я нашел это иногда очень удобным. Код будет выглядеть так:

String htmlFormattedStr = formatStringToPreserveIndentationForHtml(rawText);

Здесь можно найти артефакты библиотеки Maven , а саму библиотеку в виде файла Jar, а также исходный код и JavaDoc можно найти в Github . Вот ссылка на статью о библиотеке

...