Bezdepbonusu7Программирование: статьи и ответы

Вопрос

CodenameOne - кодировка строки HTML

Автор вопроса: P5musicОтветов: 1

Мое приложение CodenameOne должно передавать HTML-код в HTML-элементы внутри BrowserComponent с помощью Javascript, поэтому символы должны быть экранированы более одного раза, они должны быть фактически закодированы.

Мне нужно что-то вроде TextUtils.htmlEncode().

В Codename это кажется HTMLUtils, но он устарел, и я не уверен, что есть эквивалентный метод.

Так что же эквивалентно TextUtils.htmlEncode() в CodenameOne?

  • Попробуйте: codenameone.com/javadoc /com/codename1/io/ Francesco Galgani 18.08.2020
  • HTMLUtils взят из старой реализации рендеринга HTML, которая больше не доступна. @FrancescoGalgani прав, это функция кодирования Shai Almog 19.08.2020

javahtmlcodenameonehtml-encodetextutils

Ответы

Ответ 1 · рейтинг 1 · P5music

На самом деле мне просто нужно управлять двойными кавычками для параметра srcdoc iFrames, поэтому, если я не ошибаюсь, решение состоит в том, чтобы заменить

"

с

\"

В Java:

String htmlText=originalHTMLToEmbed.replace("\"","\\\"");

Я попробовал это, и это работает.

Если в HTML задействовано больше уровней, они уже экранированы, поэтому вхождения

\\\"

(и так далее) можно найти в конечной строке.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы