Как вы просто замените htmlspecialchars? - PullRequest
1 голос
/ 18 октября 2011

input.replace("&amp;", "&").replace("&lt;", "<").replace("&gt;", ">").replace("&quot;", "\"");

Я использую эту строку кода как конвертер sudo htmlspecialchars. с моим приложением оно не должно быть слишком сложным.

по какой-то причине вышеприведенный код не заменяет ("&", "&"), он, похоже, ничего не делает.

любой совет?

input = input.replaceAll("[^\\x20-\\x7e]", "");

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

Ответы [ 4 ]

3 голосов
/ 18 октября 2011

В Android есть один класс Html внутри android.text.Html, который вы можете использовать следующим образом:

Html.fromHtml(any_html_text);

Но эта функция вернет Spanned объект, поэтому используйте

Spanned spn=Html.fromHtml(any_html_text);

Вы можете установить этот составной текст на любую кнопку или текстовый вид. Надеюсь, он вам поможет.

См. ссылку также для справки.

2 голосов
/ 18 октября 2011

Вместо того, чтобы делать это вручную, проверьте класс Html. Вызов Html.fromHtml() должен помочь.

1 голос
/ 18 октября 2011

Попытка избежать / отмены html путем самостоятельной замены строк может привести к проблемам безопасности в вашем приложении (в зависимости от того, что он делает с выходными данными). Либо используйте Html.FromHtml, либо из библиотеки Apache org.apache.commons.lang.StringEscapeUtils.unescapeHtml

0 голосов
/ 21 мая 2014

Это делает работу -

 public String cleanString(String dirty) {

     return Html.fromHtml(dirty).toString();

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...