2011-10-18 83 views
1

input.replace("&amp;", "&").replace("&lt;", "<").replace("&gt;", ">").replace("&quot;", "\"");如何簡單替換htmlspecialchars?

即時使用這行代碼作爲sudo htmlspecialchars轉換器。與我的應用程序,它不需要太精心。

由於某些原因,上述代碼不能取代(「&」,「&」),它似乎沒有做任何事情。

什麼建議嗎?

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

我也嘗試過這一點。

+0

嘗試URLDecoder.decode(字符串解碼); ? – blessenm

+0

'& lt;'?哎呀。你真的想要得到這種東西*完全正確。 –

回答

2

在機器人裏面有android.text.Html一個HTML類,你可以使用這樣如下:

Html.fromHtml(any_html_text); 

但這個函數會返回跨區對象,以便使用

Spanned spn=Html.fromHtml(any_html_text); 

你可以將此跨文本設置爲任何按鈕或textview文本希望它會幫助你。

看到這個link也供您參考。

1

試圖通過自己替換字符串來逃避/ unescape html,您可能會在應用程序中引入安全問題(取決於它對輸出所做的操作)。要麼使用Html.FromHtml或Apache的庫org.apache.commons.lang.StringEscapeUtils.unescapeHtml

+1

我強烈推薦使用apache commons庫。過去我已經這麼做了,而且這是一個更加完整和無問題的解決方案 – samirahmed

0

這不工作 -

public String cleanString(String dirty) { 

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

    }