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

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

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

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

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


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


Ответы (1)


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

" 

с

\"

В Java:

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

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

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

\\\" 

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

person P5music    schedule 19.08.2020